os和sys模块

一 、os模块

1、文件的创建和删除

创建文件

import os
os.mkdir("dir1")  #一次只能创建一个文件夹/文件
os.mkdir('dir3/dir4') # 在已有dir3的文件夹下建立dir4文件夹
os.makedirs("dir1/dir2") # 一次创建dir1和dir2两个文件

删除文件

1 os.rmdir("dir1/dir2") # 一次删一个,每次删除最里层的文件
2 os.removedirs("dir3/dir4")  #从最里层的不再包含文件的文件开始删除所有文件

2、os.stat("路径") 查看文件的结构信息

3、os.system和 os.popen

os.system("dir ") 参数可以是Windows的操作命令,如dir,显示当前路径下的所有文件,没有返回值

os.popen("dir") 返回当前目录下的所有文件,适合做查看类

4、os.getcwd() # 获取到当前文件的路径

5、os.chdir("目标目录")切换当前目录到另外的目录

1 os.chdir('D:\sylar\s15\day18')  # 切换当前的工作目录
2 ret = os.popen('dir') # 查看切换后的目录的文件
3 s =ret.read()
4 print(s)

6、os.listdir() 和os.path.join()

计算一个文件夹的大小

 1 def func(filepath,n):
 2      sum=0
 3      files=os.listdir(filepath)
 4      for f in files:
 5          f_d=os.path.join(filepath,f)
 6          if os.path.isdir(f_d):
 7              print("\t"*n,f)
 8              size=func(f_d,n+1)
 9              sum=sum+size
10          else:
11              print("\t"*n,f)
12              sum=sum+os.path.getsize(f_d)
13      return sum
14 print(func("F:/workspace",0))

 os的路径操作

1、把路径中不符合规范的 / 改成操作系统默认的格式

1 path = os.path.abspath('D:/sylar/s15/day19/4.os模块.py')
2 print(path)

2、能够给能找到的文件路径改成绝对路径

1 path = os.path.abspath('4.os模块.py')
2 print(path)

3、把一个路径分成两段,第二段是一个文件/文件夹

1 path= os.path.split('D:/sylar/s15/day19/4.os模块.py')
2 print(path)
3 path= os.path.split('D:/sylar/s15/day19')
4 print(path)

返回的是一个元组

4、拿到文件路径或者文件

1 ret1 = os.path.dirname('D:/sylar/s15/day19/4.os模块.py')
2 ret2 = os.path.basename('D:/sylar/s15/day19/4.os模块.py')
3 print(ret1)
4 print(ret2)

如果你两个值都需要 os.path.split

如果你只要一个值 os.path.dirname/os.path.basename

5、判断文件/文件夹是否存在

1 res = os.path.exists(r'D:\sylar\s15\day19\4.os模块.py')
2 print(res)

6、判断当前是否是绝对路径

1 res1 = os.path.isabs('lianxi.py')
2 res2 = os.path.isabs(r'E:\PycharmProjects\practice\lianxi.py')
3 print(res1)
4 print(res2)

7、查看文件的大小

1 size= os.path.getsize(r'D:\sylar\s15\day19\4.os模块.py')  # 查看文件大小
2 print(size)


 

posted @ 2018-08-21 16:22  神神气气  阅读(142)  评论(0编辑  收藏  举报