Python os模块/glob模块

嘉美伯爵

Python OS模块 glob模块 265

注意

为了兼容我们在进行linux/windows平台下,对路径进行操作的时候,使用r进行转义,os.path.getsize(r'C:\Users\Gage\Desktop\ne.txt')

os

路径类

  • sep/name

判断操作系统 \ windows / linux

# sep
In [142]: os.sep
Out[142]: '\\'
# name nt->windows posix->linux
In [146]: os.name
Out[146]: 'nt'
  • getenv

该方法可以隐藏一些密码等关键信息

In [149]: os.getenv('OS')
Out[149]: 'Windows_NT'
  • os.path.join
In [133]: os.path.join("E:\\","test")
Out[133]: 'E:\\test'
  • os.getctime

ctime:创建时间 atime:最近访问时间 mtime:最近修改时间

# 创建时间
In [140]: os.path.getctime(r'C:\Users\Gage\Desktop\ne.txt')
Out[140]: 1582525627.504773
  • os.getsize
# 文件大小
In [138]: os.path.getsize(r'C:\Users\Gage\Desktop\ne.txt')
Out[138]: 20580
  • os.path.dirname

该方法用于返回上一级

# 文件所在文件夹
os.path.dirname(__file__)
os.getcwd()
  • os.path.basename
# 返回文件的名字
print(os.path.basename(__file__))
  • os.path.abspath

该方法文件夹和文件名一起返回

print(os.path.abspath(__file__))

文件类

  • os.listdir

列出文件,文件夹和文件一起列出

  • os.path.isfile/isdir

该方法和os.listdir有较好的效果

  • os.path.exists

判断文件或者文件夹是否存在

linux相关

  • os.mkdir

创建文件夹

  • os.rmdir

删除文件夹

  • os.chdir

变更文件夹

  • os.rename

文件重命名

glob模块

该模块常和os模块一起使用

  • 通配符过滤
files_path = os.path.join('C:\\Users\\Gage\\Desktop\\2', '*gejie*.txt')
list_of_files = glob.glob(files_path)
  • ? 单字符过滤
for name in glob.glob('dir/file?.txt'):
    print (name)
  • 范围过滤
for name in glob.glob('dir/*[0-9].*'):
    print (name)

参考文档