Python 模块大比拼,挑战过的都说好?

admin 2022年2月12日04:39:02评论40 views字数 3313阅读11分2秒阅读模式
Python 模块大比拼,挑战过的都说好?
点击蓝字 关注我们
Python 模块大比拼,挑战过的都说好?

在春节前夕,蓝桥云课推出了第 30 期楼赛——Python 模块大比拼,不知道大家参与挑战了吗?10 道趣味应用题,你会几题呢?


Python 模块大比拼,挑战过的都说好?


题目难度为简单和中等,有不少同学通过了挑战。那这次的比赛奖励,你领取到了吗?


Python 模块大比拼,挑战过的都说好?


在大家蹲守冬奥会看谷爱凌,抢冰墩墩时,我在努力地整理此次楼赛的通关题解,敬业本人Python 模块大比拼,挑战过的都说好?


娱乐虽好,学习也不能忘!如果想获取更详细的楼赛题解,可以通过文末方式免费领取哦~


Python 模块大比拼,挑战过的都说好?

01
认识系统模块


在我们编写程序的时候,经常需要与操作系统进行一些交互,os 模块中包含很多操作系统的函数接口,让你可以通过 Python 轻松实现这些功能。


本节挑战,将根据下面的要求进行一些目录和文件的操作。


题目要求

1.通过 os 模块在 /home/project 目录下新建一个多层目录 test1/first/second/

2.将子目录中的 second 目录移动到 /home/project 目录下,更名为 test2

3.在 test2 目录下新建一个 lanqiao.txt 文件。


题目解析



import osimport shutilos.listdir()os.makedirs('./test1/first/second')

shutil.move('./test1/first/second','./')os.rename('./second','test2')os.mknod('./test2/lanqiao.txt')






>>import os>>import shutil>>os.makedirs('/home/project/test1/first/second/')>>shutil.move('/home/project/test1/first/second/','/home/project/test2')>>open('/home/project/test2/lanqiao.txt','w')



Python 模块大比拼,挑战过的都说好?

02
统计文件类型


编写一个脚本程序,需要实现对 /home/project/files 目录下的文件类型进行统计。然后根据用户输入,返回对应文件类型的个数。


题目要求

1.文件路径为

/home/project/filetype.py

2.文件类型不存在时,返回 0

3.最终实现的效果如下:

Python 模块大比拼,挑战过的都说好?

题目解析



import osdir='/home/project/files'ans=0filetype=input('请输入文件类型:')for parentdir,dirname,filenames in os.walk(dir):        for filename in filenames:                if os.path.splitext(filename)[1]=='.'+filetype:                        ans=ans+1print(ans)






import os
path = '/home/project/files'
fileType = input("请输入文档类型:")
res = 0
for i in os.listdir(path):             if(os.path.splitext(i)[-1][1:]==fileType):
             res = res+1
print(res)



Python 模块大比拼,挑战过的都说好?

03
认识网络爬虫


爬虫的本质其实就是网络请求,通过自动化脚本或程序对互联网上的资源进行爬取和存储


因为 Python 语法的简洁和第三库的丰富,使其在网络爬虫方面得天独厚。


目要

本次挑战,我们需要编写脚本实现对蓝桥云课课程页的访问,并对其源码进行保存。


蓝桥云课课程页:http://www.lanqiao.cn/course


题目解析



import requests
url = "https://www.lanqiao.cn/courses/ "resp = requests.get(url).textwith open("./lanqiao.html",mode="w") as fp:
   fp.write(str(resp))





import requests
r=requests.get('https://www.lanqiao.cn/courses/')
f=open('lanqiao.html','wb')
f.write(str.encode(r.text,'utf-8'))
f.close



Python 模块大比拼,挑战过的都说好?

04
解析网页元素


BeautifulSoup 是 Python 中一个很常用的模块,功能包括解析 HTML、XML 文档、修复含有未闭合标签错误的文档等。


名字的由来是因为在网页开发中,常把语法错误和用法混乱的标签称为 tag soup(大杂烩),目的就是把它做成 BeautifulSoup(靓汤)。


题目要求

本次挑战,我们需要使用 Python 访问软科世界大学排行榜来获取首页 30 所学校的信息。


网页内容如图所示:

Python 模块大比拼,挑战过的都说好?


最终运行效果如下:

Python 模块大比拼,挑战过的都说好?

题目解析



from bs4 import BeautifulSoup as bs
import requests

res = requests.get("https://labfile.oss.aliyuncs.com/courses/4070/rank2021.html")

res.encoding = "utf-8" #将页面编码设为UTF-8,避免BeautifulSoup解析出现中文乱码soup = bs(res.text,'lxml')

ranking_list = []for item in soup.tbody:        if item.name == "tr":               record = []               for td in item:                       text=td.text.strip()                       if text != '':                                           record.append(text)

          ranking_list.append(record)for i in ranking_list:

   print(i)




from bs4 import BeautifulSoup
import requests

url = 'https://labfile.oss.aliyuncs.com/courses/4070/rank2021.html' res = requests.get(url)

html = res.content

soup = BeautifulSoup(html,'html.parser')#整个列表item = soup.find('tbody').find_all('tr')

list=[]flag=0for i in item:

   school = i.find_all('td')       id=''

   name=''

  country=''
  ranking=''
  score=''

  for j in school:              if flag==0:

        id =j.text.strip()
     elif flag==1:
        name = j.text.strip()
     elif flag==2:
        country = j.text.strip()
     elif flag==3:
         ranking = j.text.strip()
     elif flag==4:

         score = j.text.strip()              else:

          pass              if flag==5:                     flag=0              else:

        flag+=1
   s = [id, name, country, ranking, score]

     list.append(s)for l in list:        print(l)




【号外!号外!】


近期,蓝桥云课联合 B 站百万 UP 主 Oeasy 上线了《Oeasy 教你玩转 Python》,零基础也可以学习 Python 哦~戳文末“阅读原文”即可直达课程页面!


因为内容有限,无法一一展示。如果想获取更全的 Python 模块题解,欢迎通过以下方式免费领取。


▼扫码添加小蓝获取更多▼

Python 模块大比拼,挑战过的都说好?



Python 模块大比拼,挑战过的都说好?
戳戳“阅读原文”直达课程页面!

原文始发于微信公众号(蓝桥云课精选):Python 模块大比拼,挑战过的都说好?

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年2月12日04:39:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Python 模块大比拼,挑战过的都说好?https://cn-sec.com/archives/774678.html

发表评论

匿名网友 填写信息