OS --- 操作系统接口
os.system(command) # 在python中执行系统指令
os.popen(command[, mode[, bufsize]]) #os.popen() 方法用于从一个命令打开一个管道
参数
command -- 使用的命令。
mode -- 模式权限可以是 'r'(默认) 或 'w'。
bufsize -- 指明了文件需要的缓冲大小:
0意味着无缓冲;1意味着行缓冲;其它正值表示使用参数大小的缓冲(大概值,以字节为单位)。
负的bufsize意味着使用系统的默认值,一般来说,对于tty设备,它是行缓冲;
对于其它文件,它是全缓冲。如果没有改参数,使用系统的默认值。
返回值
返回一个文件描述符号为fd的打开的文件对象
print(os.popen('ifconfig').read())
os.listdir(path='.')
# 返回一个包含由 path 指定目录中条目名称组成的列表
os.getcwd() # 获取当前文件夹所在的绝对路径
__file__ 获取当前运行文件的绝对路径
os.chdir() # 修改当前文件工作的默认路径
os.environ # 获取或修改环境变量
# 通过直接修改 os.environ 之外,在此之后对环境所做的更改不会反映在 os.environ 中
os.environ['PATH'] += '想添加的环境变量的路径'
#----------os属性----------
os.name #获取系统标识 linux,mac -> posix windows -> nt
os.sep #获取路径分割符号 linux,mac -> / windows -> \
os.linesep#获取系统的换行符 linux,mac -> \n windows -> \r\r 或 \n
OS shutil---对文件的操作
# -- os模块具有 新建删除文件
os.mknod() # 创建文件
os.remove() # 删除文件
os.mkdir() # 创建目录(文件夹)
os.rmdir() # 删除目录
os.rename() # 对文件,目录重命名
os.makedirs() # 递归创建文件
os.removedisr() # 递归删除文件
# shutil模块 复制/移动
#
shutil.copyfileobj(fsrc, fdst[, length]) # 复制文件
整数值 length 如果给出则为缓冲区大小。
特别地, length 为负值表示拷贝数据时不对源数据进行分块循环处理;
默认情况下会分块读取数据以避免不受控制的内存消耗。
请注意如果 fsrc 对象的当前文件位置不为 0,则只有从当前文件位置到文件末尾的内容会被拷贝
shutil.copyfile(src, dst) # 仅复制文件内容
shutil.copymode(src, dst) # 仅复制文件权限
shutil.copystat(src, dst) # 复制所有状态信息,包括权限,组,用户,修改时间等
shutil.copy(src, dst) # 复制文件权限和内容
shutil.copy2(src, dst) # 复制文件权限和内容,包括组,用户,时间等
shutil.copytree(src, dst) # 拷贝文件夹所有内容(递归拷贝)
shutil.retree(path) # 删除当前文件夹及其中的内容(递归删除)
shutil.move(path1, path2) # 移动文件或文件夹
OS --- 路径模块 os.path
os.path.basename(path) # 返回路径 path 的基本名称
>>> os.path.basename('/foo/bar')
'bar'
>>> os.path.basename('/foo/bar/a.txt')
'a.txt'
os.path.dirname(path) # 返回路径 path 的目录名称
os.path.split(path)
# 将路径 path 拆分为一对,即 (head, tail),
# 其中,tail 是路径的最后一部分,而 head 里是除最后部分外的所有内容
os.path.join(path, *paths) # 把目录和文件名合成一个路径
os.path.splitext(path) # 分割路径中的文件名与拓展名
os.path.getsize(path) # 返回文件大小,如果文件不存在就返回错误
os.path.isdir(path) # 判断路径是否为目录
os.path.isfile(path) # 判断路径是否为文件
os.path.islink(path) # 判断路径是否为链接
os.path.getctime(path) # 返回文件 path 创建时间
os.path.getmtime(path) # 返回最近文件修改时间
os.path.getatime(path) # 返回最近访问时间(浮点型秒数)
os.path.exists(path) # 路径存在则返回True,路径损坏返回False
os.path.isabs(path) # 判断是否为绝对路径
os.path.abspath(path) # 返回绝对路径