1.OS基础
Python中有几个内置模块和方法来处理文件。这些方法被分割到例如os, os.path , shutil 和 pathlib 等等几个模块中。文章将列举Python中对文件最常用的操作和方法。
Python内置的 os 模块有很多有用的方法能被用来列出目录内容和过滤结果。为了获取文件系统中特定目录的所有文件和文件夹列表,可以在遗留版本的Python中使用 os.listdir() 或 在Python 3.x 中使用 os.scandir() 。 如果你还想获取文件和目录属性(如文件大小和修改日期),那么 os.scandir() 则是首选的方法。
import os
temp=os.listdir()
print(temp)
for i in temp:
print(type(i))
结果为:
['.idea', '123.json', 'flask-tutorial.pdf', 'index.py', 'list-of-companies-in-nasdaq-exchanges-csv_json.json', 'Python工程师招聘数据.csv', 'subway.csv', 'test.csv', 'test.py', 'zzx.pdf', 'zzx.txt']
<class 'list'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
Process finished with exit code 0
我们可以发现,listdir()os.listdir() 返回一个Python列表,其中每个文件是字符串名字,而我们再用scandir()尝试。
import os
temp=os.scandir()
print(type(temp))
print(temp)
for i in temp:
print(type(i))
结果为:
<class 'nt.ScandirIterator'>
<nt.ScandirIterator object at 0x0000022F4C459E30>
<class 'nt.DirEntry'>
<class 'nt.DirEntry'>
<class 'nt.DirEntry'>
<class 'nt.DirEntry'>
<class 'nt.DirEntry'>
<class 'nt.DirEntry'>
<class 'nt.DirEntry'>
<class 'nt.DirEntry'>
<class 'nt.DirEntry'>