import shutil --shutil库

关于更多可参考Python模块——shutil模块详解_shutils-CSDN博客
判断文件是否存在并创建
os.path.exists(dir_name):查看给定的文件/目录是否存在,存在返回True,不存在返回False。
if not os.path.exists(dir_name):
os.mkdir(dir_name)# 创建一个dir_name文件夹
从csv文件中获得下载链接并下载 Requests库的get()方法
if not os.path.exists(filename):
response = requests.get(link, stream=True) #link为下载文件网址
with open(filename, 'wb') as f:
for chunk in response.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
Respose 对象的 iter_content()方法**
从Internet上下载文件和网页
下载并保存到文件的步骤:
①调用requests.get()下载该文件
②用’wb’调用open(),以写二进制的方式打开一个新文件
③利用Respose对象的iter_content()方法循环
④在每次迭代中调用write(),将内容写入该文件
⑤调用close()关闭该文件
注:
下载时,用Response.iter_content更方便些。requests.get(url)默认是下载在内存中的,下载完成才存到硬盘上,可以用Response.iter_content来边下载边存硬盘。其中chunk_size代表下载的块代表。
解压缩:zipfile函数
zip_list = ['mchar_train', 'mchar_test_a', 'mchar_val']
for little_zip in zip_list:
if not os.path.exists(dir_name + '/' + little_zip):
zip_file = zipfile.ZipFile(dir_name + '/' + little_zip + '.zip', 'r')
zip_file.extractall(path=dir_name) #extractall: 解压缩
ZipFile.extract(member[, path[, pwd]])
将zip文档内的指定文件解压到当前目录。参数member指定要解压的文件名称或对应的ZipInfo对象;参数path指定了解析文件保存的文件夹;参数pwd为解压密码。
class zipfile.ZipFile(file[, mode[, compression[, allowZip64]]])
创建一个ZipFile对象,表示一个zip文件。参数file表示文件的路径或类文件对象(file-like object);参数mode指示打开zip文件的模式,
默认值为'r',表示读已经存在的zip文件,也可以为'w'或'a','w'表示新建一个zip文档或覆盖一个已经存在的zip文档
os.listdir函数
基本语法:os.listdir(path),其中参数需要列出的目录路径
返回值:返回指定路径下的文件和文件夹列表。
可用于得到训练集、验证集下所有图片的名称,并使用shutil库将其复制到新文件夹里。
json.load(open(path))
这里的open(path)指打开path路径下的json文件,json.load()用于读取文件中的JSON数据。该方法接收一个文件对象并返回解析为Python对象的JSON数据。返回的对象类型为字典,如下例子:
import json
with open('united_states.json') as f:
data = json.load(f)
print(type(data))
结果:
<class 'dict'>
这样就可以得到通过字典索引得到键值:
print(data.keys())
OUTPUT: dict_keys(['name', 'population', 'capital', 'languages'])
本文详细介绍了如何使用Python的shutil库进行文件判断、创建和复制,requests库下载文件和网页,以及使用zipfile处理解压缩和json.load解析数据。重点展示了文件操作和网络数据获取在Python开发中的应用。

2556

被折叠的 条评论
为什么被折叠?



