1. 和工作目录相关 os.getcwd() 获取当前工作目录,即当前Python脚本工作的目录路径 os.chdir("dirname") 改变当前工作目录,相当于cd os.curdir 返回当前工作目录 os.pardir 返回当前工作目录的父目录的字符串名 2. 创建/删除 文件或文件夹 os.makedirs("dirname1/dirname2") 生成多层递归目录 os.removedirs("dirname") 删除多重目录 os.mkdir("dirname") 生成单级目录 os.rmdir("dirname") 删除单级目录 os.listdir("dirname") 列出文件夹下所有目录和文件,以列表形式返回 os.remove() 删除一个文件 os.rename("oldname","newname") 重命名文件或文件名
3.和操作系统交互 os.system("bash command") 运行shell命令,直接显示 os.popen("bash command").read() 运行shell命令,获取执行结果 os.environ 获取系统环境变量
4.和操作系统相关 os.name 输出操作系统名称
import os
print(os.cpu_count()) # 查看cpu核数
import os print(os.getcwd()) # 获取当前的工作路径,在哪个地方执行这个文件,getcwd就是这个路径 os.chdir(r'E:\django-project\RunnerApi\apps') # 切换到别的路径下,r代表不转义 print(os.getcwd())
运行结果:
E:\django-project\RunnerApi\apps\apirunner E:\django-project\RunnerApi\apps
import os print(os.curdir) # 返回当前目录 . print(os.pardir) # 返回当前目录的父目录 .. print(os.listdir('.')) # 列出目录下的所有文件和目录,目录下面的文件不列出来 结果: . .. ['access.log', 'admin.py', 'apps.py', 'exa.log', 'json_demo', 'logger.log', 'migrations', 'models.py', 'pickle_demo', 'tests.py', 'urls.py', 'utils', 'views', 'views.py', '__init__.py', '__pycache__']
import os print(os.sep) # 输出操作系统的路径分隔符,win下为\,linux下为/ \ print([os.linesep]) # 输出当前操作系统使用的行终止符,wins下为\r\n,linux下为\n print(os.pathsep) # 输出用于分割文件路径的字符串,环境变量 ; linux下为: print(os.name) # 输出当前使用平台,wins为nt,linux为posix nt print(os.system('ipconfig')) # 执行操作系统下的命令,操作系统的编码如果是gbk,在pycharm里会乱码,因为pycharm默认编码为utf-8,一般用popen print(os.environ) # 获取系统环境变量
import os cmd_res = os.popen('dir').read() print('----->>>>', cmd_res) # 打印出的是当前目录下的所有文件,不加read打印出的是内存对象
import os os.mkdir(r'c:a') # 生成单级目录 os.makedirs(r'c:a\b\c\d') # 生成多级递归目录,d在c里,c在b里,b在a里 os.rmdir(r'c:a') # 删除单级空目录 os.removedirs(r'c:a\b\c\d') # 若目录为空,则删除,并递归到上一目录,如若也为空,则删除,以此类推 os.remove(r'D:\PycharmProjects\zouzou\abc.txt') # 删除某目录下的文件 os.rename('老文件名', '新文件名') # 重命名文件/目录 print(os.stat(r'F:\chromedriver_win32.zip').st_size) # 判断文件的大小,字节
import os print(os.path.abspath(r'e:文档')) # 获取路径 print(os.path.split(r'd:a\b\c.png')) # 将路径分割为目录和文件名以元组返回 ('d:a\\b', 'c.png') print(os.path.dirname(r'd:a\b\c.png')) # 返回目录,也就是os.path.split(r'd:a\b\c.png')的第一个元素 d:a\b print(os.path.basename(r'd:a\b\c.png')) # 返回最后的文件名或目录 c.png print(os.path.exists(path)) # 如果path路径存在,返回True print(os.path.isabs(path)) # 如果path是绝对路径,返回True print(os.path.isfile(path)) # 如果path是一个存在的文件,返回True print(os.path.isdir(path)) # 如果path是一个存在的目录,返回True
# os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 # 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所指向的文件或者目录的最后修改时间