python -- os模块

 
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所指向的文件或者目录的最后修改时间

 

上一篇:Shell脚本中dirname命令的使用


下一篇:linux下将qt打包为可执行文件