# -*-coding: utf-8 -*- import os import shutil ''' OS模块简单的来说它是一个Python的系统编程的操作模块,可以处理文件和目录这些我们日常手动需要做的操作。 ''' #------------------------- 常用的os模块函数 -------------------------- #-------------os.sep---------------- ''' os.sep 可以取代操作系统特定的路径分割符。 Windows系统通过是“\”,Linux类系统如Ubuntu的分隔符是“/”,而苹果Mac OS系统中是“:”。 使用os.sep代替系统分隔符可以实现跨平台,不用担心不能移植 Linux下一个路径, '/usr/share/python' 那么上面的 os.sep 就是 ‘/’ Windows下一个路径, '\usr\share\python' 那么上面的 os.sep 就是 '\'。 上面那个路经写成 os.sep+'usr'+os.sep+'share'+os.sep+'python', 系统就会自动替换成当前系统的路径分割符,不用人为修改 ''' strPath = os.sep + 'usr' + os.sep + 'share' + os.sep + 'python' print(strPath) #/usr/share/python #-------------os.linesep---------------- ''' os.linesep 字符串给出当前平台使用的行终止符 #Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。 ''' str1 = 'hello' + os.linesep + 'world' + os.linesep print(str1) #hello #world # #-------------os.name---------------- ''' os.name 输出字符串指示正在使用的平台。如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix'。 ''' print(os.name) #posix #-------------os.system()---------------- ''' os.system() 运行shell命令。 ''' #os.system('cmd') #启动dos #-------------os.getcwd()---------------- ''' os.getcwd() 函数得到当前工作目录,即当前Python脚本工作的目录路径。 ''' print(os.getcwd()) #/Users/xxx/Documents/Python #-------------os.chdir(path)---------------- ''' os.chdir(path) 改变当前路径到path路径中,即创建生成文件,操作文件的目录。 ''' #os.chdir(r'/Users/xxx/Documents') #设为目录/Users/xxx/Documents #-------------os.listdir(path)---------------- ''' os.listdir() 返回指定目录下的所有文件和目录名。 path: 路径名 ''' print(os.listdir(os.getcwd())) #['.DS_Store', '.idea', 'class_test.py', 'fileDir', 'os_test.py', 'os_test.py', 'hello.txt', 'str_test.py'] #-------------os.mkdir(path, mode=0777)---------------- ''' os.mkdir(path) 创建一个文件夹 path: 路径 mode: 操作权限 产生异常的可能原因: (1) 路径不存在 (2) 同名文件夹已存在时 (3) 驱动器不存在 (4) 磁盘已满 (5) 磁盘是只读的或没有写权限 ''' os.mkdir('fileDir') #-------------os.rmdir(path)---------------- ''' os.rmdir(path) 删除一个文件夹 path: 路径 产生异常的可能原因: (1) path 不存在 (2) path 子目录中有文件或下级子目录 (3) 没有操作权限或只读 ''' os.rmdir('fileDir') #-------------os.makedirs(path, mode=0777)---------------- ''' os.makedirs(path) 创建多层文件夹 path: 路径 mode: 操作权限 产生异常的可能原因: (1) 磁盘路径不存在, 如 K:\dir1\dir2 K盘不存在时 (2) 同名文件夹已存在时 (3) 驱动器不存在 (4) 磁盘已满 (5) 磁盘是只读的或没有写权限 ''' os.makedirs('fileDir1/fileDir2/fileDir3') #-------------os.rmtree(path)---------------- ''' os.rmtree(path) 删除一个文件夹以及内部的文件夹及文件 path: 路径 注意要引入: import shutil 产生异常的可能原因: (1) path 不存在 (2) path 子目录中有文件或下级子目录 (3) 没有操作权限或只读 ''' shutil.rmtree('fileDir1') #-------------创建文件---------------- ''' 直接以'w'写的方式打开关闭文件即可 ''' filename = 'hello.txt' f = open(filename, 'w') f.close() #-------------os.remove(filename)---------------- ''' os.remove(filename) 删除一个文件,非文件夹 filename: 文件名(带后缀名) 产生异常的可能原因: (1) path 不存在(不管是文件还是文件夹) (2) 驱动器不存在 (3) 磁盘已满 (4)磁盘是只读的或没有写权限 ''' os.remove('hello.txt') #------------------------- 常用的os模块函数 之 path模块 -------------------------- #-------------os.path.basename(path)---------------- ''' os.path.basename(path) 返回传入路径的最后一个的文件名 ''' print(os.getcwd()) #/Users/xxx/Documents/Python print(os.path.basename(os.getcwd())) #Python #-------------os.path.dirname(path)---------------- ''' os.path.dirname(path) 返回文件夹所在路径 ''' print(os.path.dirname(os.getcwd())) #/Users/xxx/Documents #-------------os.path.abspath(path)---------------- ''' os.path.abspath(path) 返回绝对路径 ''' print(os.path.abspath('os_test.py')) #/Users/xxx/Documents/Python/os_test.py #-------------os.path.isabs(path)---------------- ''' os.path.isabs(path) 是否为绝对路径 ''' print(os.path.isabs('os_test.py')) #False print(os.path.isabs('../Python/os_test.py')) #False print(os.path.isabs(os.getcwd()+'os_test.py')) #True #-------------os.path.commonprefix(path)---------------- ''' os.path.commonprefix(path) 返回list(多个路径)中,所有path共有的最长的路径 ''' print(os.path.commonprefix(['/Users/xxx/Documents/Python/', \ '/Users/xxx/', \ '/Users/xxx/Documents'])) #/Users/xxx/ #-------------os.path.exists(path)---------------- ''' os.path.exists(path) 该路径是否存在未被破坏, 是:返回True, 否:返回False ''' print(os.path.exists(os.getcwd())) #True print(os.path.exists(os.getcwd()+'hhhh'+os.sep)) #False #-------------os.path.getsize(path)---------------- ''' os.path.getsize(path) 返回文件大小,如果文件不存在就返回错误 ''' print(os.path.getsize('os_test.py')) #5503 print(os.path.getsize(os.getcwd())) #442 #print(os.path.getsize(os.getcwd()+'hhhh'+os.sep)) #OSError: [Errno 2] No such file or directory: #-------------os.path.isfile(path)---------------- ''' os.path.isfile(path) 是否为文件, 找不到也返回False ''' print(os.path.isfile(os.getcwd())) #False print(os.path.isfile('os_test.py')) #True #-------------os.path.isdir(path)---------------- ''' os.path.isdir(path) 是否为文件夹, 找不到也返回False ''' print(os.path.isdir(os.getcwd())) #True print(os.path.isdir('os_test.py')) #False #-------------os.path.join(path1[, path2[, ...]])---------------- ''' os.path.join(path1[, path2[, ...]]) 把文件和路径合成一个名, 用来拼接全名 ''' print(os.path.join(os.getcwd(), 'joindir','os_test.py')) #/Users/xxx/Documents/Python/joindir/os_test.py #-------------os.path.realpath(path)---------------- ''' os.path.realpath(path) 返回真是路径 ''' print(os.path.realpath('os_test.py')) #/Users/xxx/Documents/Python/os_test.py #-------------os.path.samefile(path1, path2)---------------- ''' os.path.samefile(path) 判断两个文件或者路径是否相同 ''' print(os.path.samefile('os_test.py', 'tuple_test.py')) #False print(os.path.samefile('os_test.py', 'os_test.py')) #True print(os.path.samefile(os.getcwd(), os.path.dirname(os.getcwd()))) #False print(os.path.samefile(os.getcwd(), os.getcwd())) #True #-------------os.path.split(path)---------------- ''' os.path.split(path) 把路径分割成dirname和basename,返回一个元组 ''' print(os.path.split(os.path.abspath('os_test.py'))) #('/Users/xxx/Documents/Python', 'os_test.py') #-------------os.path.splitext(path)---------------- ''' os.path.splitext(path) 分割文件扩展名,返回路径名和文件扩展名的元组 ''' print(os.path.splitext(os.path.abspath('os_test.py'))) #('/Users/xxx/Documents/Python/os_test', '.py') print(os.path.splitext(os.getcwd())) #('/Users/xxx/Documents/Python', '')
python os模块常用函数使用方法大全
原创
©著作权归作者所有:来自51CTO博客作者guyuejinsheng的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Python (os模块 相对路径使用方法)
导入 os 模块import os返回路径path1=os.path.abspath(__file__) print(path1)#当前文件的
python 经验分享 程序人生 html java -
lodash使用方法大全
lodash使用方法大全。
javascript 前端 开发语言 数组 深拷贝