OS模块
os模块就是对操作系统进行操作,使用该模块必须先导入模块:
import os
1、os.getcwd() # 获取当前工作目录,即当前python脚本工作的目录路径
2、os.chdir("dirname") # 改变当前脚本工作目录;相当于shell下cd
3、os.curdir # 返回当前目录: ('.')
4、os.pardir # 获取当前目录的父目录字符串名:('..')
5、os.makedirs('dirname1/dirname2') # 可生成多层递归目录
6、os.removedirs('dirname1') # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
7、os.mkdir('dirname') # 生成单级目录;相当于shell中mkdir dirname
8、os.rmdir('dirname') # 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
9、os.listdir('dirname') # 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
10、os.remove() # 删除一个文件
11、os.rename("oldname","newname") # 重命名文件/目录
12、os.stat('path/filename') # 获取文件/目录信息
13、os.sep # 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
14、os.linesep # 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
15、os.pathsep # 输出用于分割文件路径的字符串 win下为;,Linux下为:
16、os.name # 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
17、os.system("bash command") # 运行shell命令,直接显示
18、os.environ # 获取系统环境变量
19、os.path.abspath(path) # 返回path规范化的绝对路径
20、os.path.split(path) # 将path分割成目录和文件名二元组返回
21、os.path.dirname(path) # 返回path的目录。其实就是os.path.split(path)的第一个元素
22、os.path.basename(path) # 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
23、os.path.exists(path) # 如果path存在,返回True;如果path不存在,返回False
24、os.path.isabs(path) # 如果path是绝对路径,返回True
25、os.path.isfile(path) # 如果path是一个存在的文件,返回True。否则返回False
26、os.path.isdir(path) # 如果path是一个存在的目录,则返回True。否则返回False
27、os.path.join(path1[, path2[, ...]]) # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
28、os.path.getatime(path) # 返回path所指向的文件或者目录的最后存取时间
29、os.path.getmtime(path) # 返回path所指向的文件或者目录的最后修改时间
1、getcwd()
获取当前工作目录(当前工作目录默认都是当前文件所在的文件夹)
result = os.getcwd()
print(result)
2、chdir()
改变当前工作目录(相当于shell下cd)
os.chdir('/home/sy')
result = os.getcwd()
print(result)
open('02.txt','w')
操作时如果书写完整的路径则不需要考虑默认工作目录的问题,按照实际书写路径操作
open('/home/sy/下载/02.txt','w')
3、curdir
表示当前文件夹 .表示当前文件夹 一般情况下可以省略(返回当前目录: (’.’))
print(os.curdir)
4、pardir
获取当前目录的父目录字符串名:(’…’)
print(os.pardir)
5、makedirs()
递归创建文件夹,可生成多层递归目录
os.makedirs('/home/sy/a/b/c/d')
6、removedirs
若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.removedirs('/home/sy/a/b/c/d')
7、mkdir()
生成单级目录;相当于shell中mkdir dirname
os.mkdir('girls')
os.mkdir('boys',0o777)
8、rmdir()
删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.rmdir('girls')
9、listdir()
列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
result = os.listdir('/home/sy')
print(result)
11、rename()
文件或文件夹重命名
os.rename('/home/sy/a','/home/sy/alibaba'
os.rename('02.txt','002.txt')
12、stat()
获取文件或者文件夹的信息
result = os.stat('/home/sy/PycharmProject/Python3/10.27/01.py)
print(result)
st_mode: inode 保护模式
st_ino: inode 节点号。
st_dev: inode 驻留的设备。
st_nlink: inode 的链接数。
st_uid: 所有者的用户ID。
st_gid: 所有者的组ID。
st_size: 普通文件以字节为单位的大小;包含等待某些特殊文件的数据。
st_atime: 上次访问的时间。
st_mtime: 最后一次修改的时间。
st_ctime: 由操作系统报告的"ctime"。在某些系统上(如Unix)是最新的元数据更改的时间,在其它系统上(如Windows)是创建时间(详细信息参见平台的文档)
13、sep
获取系统路径间隔符号 window ->\ linux ->/
print(os.sep)
14、linesep
获取操作系统的换行符号 window -> \r\n linux/unix -> \n(输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n")
print(repr(os.linesep))
17、system()
执行系统命令(危险函数)(运行shell命令,直接显示)
result = os.system('ls -al') #获取隐藏文件
print(result)
18、getenv()
获取系统的环境变量
result = os.getenv('PATH')
print(result.split(':'))
18、putenv()
将一个目录添加到环境变量中(临时增加仅对当前脚本有效)
os.putenv('PATH','/home/sy/下载')
os.system('syls')
exit()
退出终端的命令
os.mkdir(’…/…/…/man’)
相对路径 从当前目录开始查找
os.mkdir(’/home/sy/man1’)
绝对路径 从根目录开始查找
name
获取代表操作系统的名称字符串
print(os.name) #posix -> linux或者unix系统 nt -> window系统
extsep
获取文件名称和后缀之间的间隔符号 window & linux -> .
print(os.extsep)
以下内容都是os.path子模块中的内容
19、abspath()
将相对路径转化为绝对路径
path = './boys'#相对
result = os.path.abspath(path)
print(result)
20、split()
将一个完整的路径切割成目录部分和主体部分
path = '/home/sy/boys'
result = os.path.split(path)
print(result)
21、dirname()
获取完整路径当中的目录部分
path = '/home/sy/boys'
result = os.path.dirname(path)
print(result)
#/home/sy
22、basename()
获取完整路径当中的主体部分
path = '/home/sy/boys'
result = os.path.basename(path)
print(result)
#/boys
23、exists()
检测某个路径是否真实存在
filepath = '/home/sy/下载/chls'
result = os.path.exists(filepath)
print(result)
24、isabs()
检测一个路径是否是绝对路径
path = '/boys'
result = os.path.isabs(path)
print(result)
samefile()
检测2个路径是否是同一个文件
path1 = '/home/sy/下载/001'
path2 = '../../../下载/001'
result = os.path.samefile(path1,path2)
print(result)
27、join()
将2个路径合并成一个
var1 = '/home/sy'
var2 = '000.py'
result = os.path.join(var1,var2)
print(result)
splitext()
将一个路径切割成文件后缀和其他两个部分,主要用于获取文件的后缀
path = '/home/sy/000.py'
result = os.path.splitext(path)
print(result)
('/home/sy/000', '.py')
getsize()
获取文件的大小
path = '/home/sy/000.py'
result = os.path.getsize(path)
print(result)
25、isfile()
检测是否是文件
path = '/home/sy/000.py'
result = os.path.isfile(path)
print(result)
26、isdir()
检测是否是文件夹
result = os.path.isdir(path)
print(result)
islink()
检测是否是链接
path = '/initrd.img.old'
result = os.path.islink(path)
print(result)
28、getatime()
获取文件的访问时间 get active time
getctime()
获取文件的创建时间 get create time
29、getmtime()
获取文件的修改时间 get modify time
import time
filepath = '/home/sy/下载/chls'
result = os.path.getctime(filepath)
print(time.ctime(result))
result = os.path.getmtime(filepath)
print(time.ctime(result))
result = os.path.getatime(filepath)
print(time.ctime(result))
os.environ
用于获取和设置系统环境变量的内置值
import os
#获取系统环境变量 getenv() 效果
print(os.environ['PATH'])
putenv()
设置系统环境变量
os.environ['PATH'] += ':/home/sy/下载'
os.system('chls')