os模块主要处理文件目录(文件夹)的创建、删除、检查判定、属性值修改、路径修改。

(1)获取当前目录的两种方法

1 os.getcwd()
 os.path.abspath('.')

(2)创建文件夹

os.makedirs(r'd:\test')

若该文件夹已存在,会报错。

(3)列举指定目录下的全面文件及文件夹

os.listdir(r'd:\test')

返回值为列表形式

(4)删除空文件夹的两种方法

1 os.removedirs(r'd:\test')
2 os.rmdir('d:\\test')

若制定路径下文件夹不存在和非空文件夹,都会报错。

若程序当前目录在该删除路径内,也会报错。

练习1:在指定目录,批量生成N个文件夹

 import os

 sPath = 'd:\\test'  #指定目录
dirs_name = ['one', 'two', 'three'] #指定文件夹名称 if not os.path.exists(sPath):
os.mkdir(sPath) os.chdir(sPath) for i in range(len(dirs_name)):
if not os.path.exists(str(i+1) + ' ' + dirs_name[i]):
os.mkdir(str(i+1) + ' ' + dirs_name[i]) print('Success')

练习2:打印指定目录下,全部文件的绝对路径(两种方法)

 #!/urs/bin/env python
# -*- coding:utf-8 -*- def print_directory_contents(sPath):
import os
for sChild in os.listdir(sPath):
sChildPath = os.path.join(sPath, sChild)
if os.path.isdir(sChildPath):
print_directory_contents(sChildPath)
else:
print(sChildPath) print_directory_contents(r'D:\test')

实现方式2:

 def print_files_abspath(sPath):
for root, dirs, files in os.walk(sPath):
for name in files:
print(os.path.join(root, name)) print_files_abspath('D:\StormMedia')

练习3:查找指定目录下,全部满足条件的文件,以列表方式呈现文件的绝对路径

 #!/urs/bin/env python
# -*- coding:utf-8 -*- import os result = [] def find_all_files(sPath, fileName):
for root, dirs, files in os.walk(sPath):
for name in files:
if name == fileName:
result.append(os.path.join(root, name)) if __name__ == '__main__':
find_all_files(r'D:\\Linux', 'Makefile')
for i in range(len(result)):
print(result[i]) print("Totals: %s" % len(result))

练习4:打印指定目录下,全部目录的绝对路径

 #!/urs/bin/env python
# -*- coding:utf-8 -*- import os def print_all_directories(sPath):
for root, dirs, files in os.walk(sPath):
for name in dirs:
print(os.path.join(root, name)) print_all_directories(r'D:\test')
05-04 06:47