python os模块(1)

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

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

1 os.getcwd()
2 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个文件夹

 1 import os
 2 
 3 sPath = 'd:\\test'  #指定目录
 4 dirs_name = ['one', 'two', 'three']  #指定文件夹名称
 5 
 6 if not os.path.exists(sPath):
 7     os.mkdir(sPath)
 8 
 9 os.chdir(sPath)
10 
11 for i in range(len(dirs_name)):
12     if not os.path.exists(str(i+1) + ' ' + dirs_name[i]):
13         os.mkdir(str(i+1) + ' ' + dirs_name[i])
14 
15 print('Success')
View Code

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

 1 #!/urs/bin/env python
 2 # -*- coding:utf-8 -*-
 3 
 4 def print_directory_contents(sPath):
 5     import os
 6     for sChild in os.listdir(sPath):
 7         sChildPath = os.path.join(sPath, sChild)
 8         if os.path.isdir(sChildPath):
 9             print_directory_contents(sChildPath)
10         else:
11             print(sChildPath)
12 
13 print_directory_contents(r'D:\test')
View Code

 实现方式2:

1 def print_files_abspath(sPath):
2     for root, dirs, files in os.walk(sPath):
3         for name in files:
4             print(os.path.join(root, name))
5 
6 print_files_abspath('D:\StormMedia')
View Code

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

 1 #!/urs/bin/env python
 2 # -*- coding:utf-8 -*-
 3 
 4 import os
 5 
 6 result = []
 7 
 8 def find_all_files(sPath, fileName):
 9     for root, dirs, files in os.walk(sPath):
10         for name in files:
11             if name == fileName:
12                 result.append(os.path.join(root, name))
13 
14 if __name__ == '__main__':
15     find_all_files(r'D:\\Linux', 'Makefile')
16     for i in range(len(result)):
17         print(result[i])
18 
19     print("Totals: %s" % len(result))
View Code

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

 1 #!/urs/bin/env python
 2 # -*- coding:utf-8 -*-
 3 
 4 import os
 5 
 6 def print_all_directories(sPath):
 7     for root, dirs, files in os.walk(sPath):
 8         for name in dirs:
 9             print(os.path.join(root, name))
10 
11 print_all_directories(r'D:\test')
View Code

 

posted @ 2016-11-09 23:23  12兵哥哥  阅读(232)  评论(0编辑  收藏  举报