Python学习者可加群交流:651707058
函数库清单
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 输出用于分割文件路径的字符串
os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command") 运行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.split(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.getcwd( )
os.getcwd()
import os
print(os.getcwd())
输出:
D:\python projects\测试
工作目录:打开文件的默认路径,以及创建文件的默认路径。
os.chdir( )
当前文件test1.py
import os
print('当前工作目录',os.getcwd())
os.chdir('.\\T1') #改变到当前目录下的T1目录
with open('os.txt','w') as f:#创建一个名为os的文件
f.write('test')
效果图:
可以看到,创建的新文件不是执行文件test1.py的目录,而是在T1目录下
os.curdir
print(os.curdir)
输出:.
和os.getcwd( )不同的是,os.getcwd( )返回的是一个绝对路径,os.curdir 是是一个相对路径,需要转换后才能是绝对路径
os.pardir
print(os.pardir)
输出:..
和上面一样,这是相对路径。需要显示绝对路径,需要经过转换
os.makedirs(‘dirname1/dirname2’)
#当前文件test1.py
import os
os.makedirs('T2\\T3')
#从当前工作目录向下生成T2,在T2下又创建一个T3目录(注意,需指定定某个目录需要绝对路径)
效果图:
os.removedirs(‘dirname1’)
#当前文件test1.py
import os
os.removedirs('T2\\T3')
从T3开始删除,直到删除掉T2,如果中间某个目录不为空,则停止删除(注意,需指定定某个目录需要绝对路径)
效果图:
os.mkdir(‘dirname’)
#当前文件test1.py
import os
os.mkdir('hello')
注意,只能生成一个目录(注意,需指定定某个目录需要绝对路径)
效果图:
os.rmdir(‘dirname’)
#当前文件test1.py
import os
os.rmdir('hello')
效果图:
os.system(“bash command”)
#当前文件test1.py
import os
os.system('pause')
让程序暂停,并任意键继续
os.environ
#当前文件test1.py
import os
print(os.environ)
输出:environ({'ADSK_3DSMAX_X64_2016': 'F:\\Program Files\\Autodesk\\3ds Max 2016\\'等等
要注意这是操作系统的环境变量,而不是编译器的环境变量
os.path.abspath(path)
#当前文件test1.py
import os
print(os.curdir)#相对路径
print(os.path.abspath(os.curdir))#转换成绝对路径
输出:
.
D:\python projects\测试
os.path.dirname(path)
#当前文件test1.py
import os
path = os.path.dirname('c:\\T1\\T2\\test.txt')
print(path)
输出:c:\T1\T2 (注意,这里不会检查路径是否存在)
把目录和文件名分开,返回目录
os.path.basename(path)
#当前文件test1.py
import os
path = os.path.basename('c:\\T1\\T2\\test.txt')
print(path)
输出:test.txt (注意,这里不会检查路径是否存在)
os.path.join(path1,path2…)
#当前文件test1.py
import os
path = os.path.join('T\\','T1\\','T2')
print(path)
输出:T\T1\T2