python3 os操作系统模块
OS操作系统模块
1.os模块内函数汇总
函数名 | 说明 |
os.getcwd() | 获取当前工作目录,即当前python脚本工作的目录路径 |
os.chdir("dirname") | 改变当前脚本工作目录;相当于shell下cd |
os.curdir | 返回当前目录: ('.') |
os.pardir | 获取当前目录的父目录字符串名:('..') |
os.makedirs('dirname1/dirname2') | 可生成多层递归目录 |
os.removedirs('dirname1') | 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 |
os.mkdir('dirname') | 生成单级目录;相当于shell中mkdir dirname |
os.rmdir('dirname') | 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname |
os.listdir('dirname') | 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 |
os.remove() | 删除一个文件 |
os.rename("oldname","newname") | 重命名文件/目录 |
os.stat('path/filename') | 获取文件/目录信息 |
os.sep | 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/" |
os.linesep | 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n" |
os.pathsep | 输出用于分割文件路径的字符串 win下为;,Linux下为: |
os.name | 输出字符串指示当前使用平台。win->'nt'; Linux->'posix' |
os.system("bash command") | 运行shell命令,直接显示 |
os.popen("bash command).read() | 运行shell命令,获取执行结果 |
os.environ | 获取系统环境变量 |
os.path.abspath(path) | 返回path规范化的绝对路径 os.path.split(path) 将path分割成目录和文件名二元组返回 |
os.path.dirname(path) | 返回path的目录。其实就是os.path.split(path)的第一个元素 os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。 |
os.path.exists(path) | 如果path存在,返回True;如果path不存在,返回False |
os.path.isabs(path) | 如果path是绝对路径,返回True |
os.path.isfile(path) | 如果path是一个存在的文件,返回True。否则返回False |
os.path.isdir(path) | 如果path是一个存在的目录,则返回True。否则返回False |
os.path.join(path1[, path2[, ...]]) | 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 |
os.path.getatime(path) | 返回path所指向的文件或者目录的最后访问时间 |
os.path.getmtime(path) | 返回path所指向的文件或者目录的最后修改时间 |
os.path.getsize(path) | 返回path的大小 |
2.os模块内函数的使用
import os
#(1)getcwd
print(os.getcwd()) #返回当前Py文件所在目录,也就是取现行目录
'''结果:
H:\Python Scripts\0110常用模块
'''
#(2)chdir
os.chdir('C:') #改变当前py文件的工作目录
print(os.getcwd())
'''结果:
C:\
'''
#(3)curdir
print(os.curdir) #返回的是当前的目录‘.’
'''结果:
.
'''
#(4)pardir
print(os.pardir) #获取当前目录的父目录字符串名‘..’
'''结果:
..'''
# (5)makedirs
os.makedirs('catalog1/catalog2') #递归生成多级目录
#(6)removedirs
print(os.removedirs('catalog1/catalog2')) # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
#(7)mkdir
os.mkdir('catalogs1') #生成单级目录
#(8)rmdir
os.rmdir('catalogs1') # 删除单级空目录,若目录不为空则无法删除
#(9)listdir
print(os.listdir('C:\Python35')) #列出指定路径下的所有文件和子目录,包括隐藏文件,并以列表方式打印
'''结果:
['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'python3.dll', 'python35.dll',
'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools', 'vcruntime140.dll']'''
#(10)remove
os.remove('temp.py') #删除一个文件
#(11)rename
os.rename('test','new_test') #重命名文件名,第一个参数时旧的文件名,第二个参数是新的文件名
#(12)stat
print(os.stat('C:\Python35')) #获取文件或目录的信息
'''结果:
os.stat_result(st_mode=16895, st_ino=3096224743980009, st_dev=3164427726, st_nlink=1, st_uid=0, st_gid=0, st_size=4096,
st_atime=1513222864, st_mtime=1513222864, st_ctime=1513222828)
'''
#(13)sep
print(os.sep) #根据操作系统输出特定的路径分隔符,win 是 \ Linux 是 /
'''结果:
\
'''
#(14)linesep
print(os.linesep) #输出当前平台使用的换行符,win下为"\t\n",Linux下为"\n"
'''结果:
'''
#(15)pathsep
print(os.pathsep) # 输出用于分割文件路径的字符串 win下为;,Linux下为:
'''结果:
;
'''
#(16)name
print(os.name) # 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
'''结果:
nt
'''
#(17)system
os.system('echo 打印信息') #运行shell或doc命令,直接显示结果
'''结果:
��ӡ��Ϣ
'''
#(18)popen
print(os.popen('echo 打印信息出来').read()) #运行shell或doc命令,获取执行结果
'''结果:
打印信息出来
'''
#(19)environ
print(os.environ) #获取系统环境变量
'''结果:
environ({'PROGRAMFILES': 'C:\\Program Files', 'COMSPEC':})
'''
#(20)path.abspath(path)
print(os.path.abspath('Python35')) # 返回path规范化的绝对路径
'''结果:
H:\Python Scripts\0110常用模块\Python35
'''
#(21)path.dirname(path)
print(os.path.dirname('C:\Program Files')) #返回path的父目录
'''结果:
C:\
'''
#(22)path.exists(path)
print(os.path.exists('C:\Program Files')) #判断path是否存在,返回布尔值
'''结果:
True
'''
#(23)path.isabs(path)
print(os.path.isabs('Program Files')) #判断path是否为绝对路径,返回布尔值
'''结果:
False
'''
#(24)path.isfile(path)
print(os.path.isfile('C:\Program Files')) #判断path是否为文件,返回布尔值
'''结果:
False
'''
#(25)path.isdir(path)
print(os.path.isdir('C:\Program Files')) #判断path是否为目录,返回布尔值
'''结果:
True
'''
#(26)path.join()
print(os.path.join('/hello/','python/','3.5')) # 将多个路径组合后返回
'''结果:
/hello/python/3.5
'''
#(27)path.getatime(path)
print(os.path.getatime('C:\Program Files')) #返回path所指向文件或目录的最后访问时间
'''结果:时间戳
1513261490.7392616
'''
#(28)path.getmtime(path)
print(os.path.getmtime('C:\Program Files')) #返回path所指向文件或目录的最后修改时间
'''结果:时间戳
1513261490.7392616
'''
#(29)path.getsize(path)
print(os.path.getsize(r'C:\1.txt')) #返回path的大小
'''结果:单位字节
35
'''