如何使用python组织文件
如何使用python组织文件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
一、Shutil 模块
shutil其实也就是shell模块。其中包含一些函数,可以让我们在python程序中复制、移动、改名和删除文件。
1.1 复制文件和文件夹
shutil.copy(source,destination):将路径source处的文件复制到路径destination处的文件夹。如果destination是一个文件名,那么它将作为被复制的新名字
shutil.copytree(source,destination):将路径source处的文件夹,包括它的所有文件和子文件夹,复制到路径destination处的文件夹。
import shutilimport oscurrent_path = os.getcwd()# 拷贝test.txt 文件到temp1文件夹下shutil.copy(current_path+"/test.txt",current_path+"/Python/temp1")# 将temp1文件夹内容拷贝到temp2文件夹下,此时会创建temp2文件夹shutil.copytree(current_path+"/Python/temp1",current_path+"/Python/temp2")
结果:
1.2 移动文件和文件夹
shutil.move(source,destination):将source处的文件夹移动到路径destination,并返回新位置的绝对路径的字符串
注:
如果destination指向一个文件夹,source文件将移动到destination中,并保持原来的文件名;
如果destination指向一个文件,这个文件就会被覆盖,注意!
如果destination指向一个不存在的文件夹,这个时候source里面的内容会移动到destination,source改名为destination
import shutilimport oscurrent_path = os.getcwd()# 将temp2文件夹内的文件拷贝到temp中,并将temp2改名为tempshutil.move(current_path+"/Python/temp2",current_path+"/temp")
结果:
1.3 删除文件和文件夹
os.unlink(path):将删除path处的文件
os.rmdir(path):将删除path处的文件夹。该文件夹必须为空,其中没有任何文件和文件夹
shutil.retree(path):将删除path处的文件夹,它包含的所有文件和文件夹都会被删除
import shutilimport oscurrent_path = os.getcwd()shutil.rmtree(current_path+"/temp")
结果:
二、遍历文件
os.walk(path):通过传入一个路径
os.walk()在循环的每次迭代中,返回三个值:
当前文件夹名称的字符串
当前文件夹中子文件夹的字符串的列表
当前文件夹中文件的字符串的列表
import shutilimport oscurrent_path = os.getcwd()for folder_name,sub_folders,file_names in os.walk(current_path): print(folder_name+":") # 加载当前文件路径下的所有子文件 for sub_folder in sub_folders: print("\t"+folder_name+": "+sub_folder+"(dir)") for file_name in file_names: print("\t"+folder_name+": "+file_name)
输出(部分):
ubuntu@VM-0-2-ubuntu:~/python_file$ /usr/bin/python3 /home/ubuntu/python_file/Python/orignize_files.py
/home/ubuntu/python_file:
/home/ubuntu/python_file: .vscode(dir)
/home/ubuntu/python_file: Python(dir)
/home/ubuntu/python_file: test.cpp
/home/ubuntu/python_file: test.txt
/home/ubuntu/python_file: tempCodeRunnerFile.py
/home/ubuntu/python_file/.vscode:
/home/ubuntu/python_file/.vscode: db(dir)
/home/ubuntu/python_file/.vscode: .git(dir)
/home/ubuntu/python_file/.vscode: log(dir)
/home/ubuntu/python_file/.vscode: settings.json
/home/ubuntu/python_file/.vscode/db:
/home/ubuntu/python_file/.vscode/db: cpptips.db-wal
/home/ubuntu/python_file/.vscode/db: cpptips.db-shm
/home/ubuntu/python_file/.vscode/db: cpptips.db
/home/ubuntu/python_file/.vscode/.git:
/home/ubuntu/python_file/.vscode/.git: 6eb7a60f73d1a1d9bdf44f2e86d7f4cc_test.cpp
/home/ubuntu/python_file/.vscode/log:
/home/ubuntu/python_file/.vscode/log: cpptips.server.2021-05-19.log
/home/ubuntu/python_file/.vscode/log: cpptips.server.2021-05-16.log
/home/ubuntu/python_file/.vscode/log: cpptips.server.2021-05-17.log
/home/ubuntu/python_file/.vscode/log: cpptips.client.log
/home/ubuntu/python_file/.vscode/log: cpptips.server.log
/home/ubuntu/python_file/Python:
/home/ubuntu/python_file/Python: temp1(dir)
/home/ubuntu/python_file/Python: .git(dir)
/home/ubuntu/python_file/Python: README.md
/home/ubuntu/python_file/Python: hello_world.py
/home/ubuntu/python_file/Python: orignize_files.py
/home/ubuntu/python_file/Python: regex.py
/home/ubuntu/python_file/Python: file_mange.py
.........
.........
.........
三、压缩文件
利用zipfile模块中的函数,python程序可以创建和打开ZIP文件。
3.1 创建和添加ZIP文件
想要创建ZIP文件,必须用ZipFile
方法创建一个ZipFile对象。ZipFile对象在概念上和File对象相似。
之后,以写模式打开这个对象。调用write()
方法传入一个路径,python就会压缩该路径所指的文件,将它加到ZIP文件中。write的第一个参数是一个字符串,代表要添加的文件名。第二个参数是”压缩类型“参数,告诉计算机使用怎样的算法来压缩文件。一般来说,ZIP_DEFLATED就可以了。
import zipfileimport oscurrent_path = os.getcwd()new_zip = zipfile.ZipFile("newZip","w")new_zip.write("test.txt",compress_type=zipfile.ZIP_DEFLATED)new_zip.write("test.cpp",compress_type=zipfile.ZIP_DEFLATED)
结果:
3.2 读取ZIP文件
当用ZipFile函数打开一个zip文件的时候,会返回一个ZipFile对象。之后调用这个对象的namelist()
方法就可以获得zip里面的压缩文件列表。
同时这个对象还有一个getinfo()方法,通过传入一个压缩文件名,就可以获得这个文件的一些信息。
import zipfileimport oscurrent_path = os.getcwd()new_zip = zipfile.ZipFile("newZip","r")files = new_zip.namelist()for file in files: info = new_zip.getinfo(file) print("filename: "+file) print("\tsize: "+str(info.file_size)) print("\tcompress_size: "+str(info.compress_size))
输出:
ubuntu@VM-0-2-ubuntu:~/python_file$ /usr/bin/python3 /home/ubuntu/python_file/Python/orignize_files.py
filename: test.txt
size: 26
compress_size: 26
filename: test.cpp
size: 30
compress_size: 28
3.3 解压缩ZIP文件
ZipFile对象的extractall方法从ZIP文件中解压缩所有的文件和文件夹,放到当前工作目录下:
import zipfileimport oscurrent_path = os.getcwd()example_zip = zipfile.ZipFile("newZip","r")# 解压example_zip.extractall()example_zip.close()
结果:
Python主要用来做什么
Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬虫;4、嵌入式应用开发;5、游戏开发;6、桌面应用开发。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341