Python中os模块相关

os操作系统相关


来着大拿老师的Python笔记

#os-操作系统相关 
import os
'''
os-操作系统相关
os.path-系统路径相关操作
shutil-高级文件操作,文件赋值,删除,移动
绝对路径:总是从根目录开始的
相对路径:基本以当前坏境未开始的一个相对地方
'''
#os.getcwd() :获取当前工作目录的字符串
print(os.getcwd())
#os.chdir() :改变当前的工作目录
os.chdir('/home/tlxy')
#os.listdir() :返回一个目录中所有子目录和文件的名称列表
print(os.listdir())#默认你的工作目录
#os.makedirs(递归路径): 递归创建文件夹 无返回值
#多个文件夹层层包含的路径就是递归路径 例如 a/b/c

rst = os.makedirs("dana")

#os.system(系统命令) :运行系统shell命令 
#返回值:打开一个shell或终端界面
#ls是列出当前文件和文件夹的系统命令
rst = os.system("ls")
print(rst )
#getenv() :获取指定的系统环境变量值
#相应的还有putenv
#格式:os.getenv('环境变量名')
#返回值:指定环境变量名对应的值

print(os.getenv('PATH'))

'''
os.curdir:curretn dir:当前目录
os.pardir:parent dir :父亲目录
os.sep:当前系统的路径分隔符
    windows:"\"
    linux: "/"
os.linesep:当前系统换行符号
    windows: "\r\n"
    unix,linux,macos: "\n"
os.name:当前系统名称
'''
#在路径相关的操作中,不要手动拼写地址,因为手动拼写的路径可能不具有移植性
path = '/home/tlxy' + '/' + 'dana'
print(path)
print(os.name)
'''
/home/tlxy/dana
nt
'''


import os.path as op
# os.path.abspath('路径'):将路径转化为绝对路径,返回路径的绝对路径

#basename() 获取路径中的文件名部分
# 格式:os.path.basename(路径)
# 返回值:文件名字符串

bn = op.basename(os.getcwd())
print(bn)
#join:将多个路径拼合成一个路径
# 格式: os.path.join(路径1,路径2....)
# 返回值:组合之后的新路径字符串

bd = '\home\\tlxy'
fn = 'dana.haha'
print(op.join(bd,fn))
'''
\home\tlxy\dana.haha
'''
#split() 将路径切割成文件夹部分和当前文件部分
# 格式:os.path.split(路径)
# 返回值:路径和文件名组成的元组

t = op.split('\home\tlxy\dana.haha')
print(t)
'''
('\\home\tlxy', 'dana.haha')
'''
#isdir() : 检查是否是目录
# 格式:os.path.isdir(路径)
# 返回值:布尔值

print(op.isdir('\home\tlxy\dana.haha'))
'''
False
'''
# exists() :检测文件或者目录是否存在
# 格式:os.path.isdir(路径)
# 返回值:布尔值

print(op.exists('\home\tlxy\dana.haha'))
# copy() 复制文件
# 格式: shutil.copy(来源路径,目标路径)
# 返回值: 返回目标路径
# 拷贝的同时,还可以给文件重命名
rst = shutil.copy("\home\tlxy\dana.haha","\home\tlxy\dana.haha")

#shutil模块
import shutil
# copy2() 复制文件,保留元数据(文件信息)
# 格式: shutil.copy2(来源路径,目标路径)
# 返回值: 返回目标路径
# 注意:copy和copy2的唯一区别在于copy2复制文件时尽量保留元数据

# copyfile() 将一个文件中的内容复制到另一个文件中
# 格式: shutil.copyfile('源路径','目标路径')
# 返回值: 无

#move() 移动文件/文件夹
# 格式:shutil.move('原路径','目标路径')
# 返回值: 目标路径

#归档和压缩
#归档:把多个文件或者文件夹合并到一个文件当中
#压缩:用算法把多个文件或者文件夹无损或者有损合并到一个文件当中

import shutil
#是想得到一个叫做tuling.zip的归档文件
rst = shutil.make_archive('\home\tlxy\tuling','zip''\home\tlxy\dana.haha')


# unpack_archive()解包操作
# 格式: shutil.unpack_archive('归档文件地址','解包之后的地址')
# 返回值:解包之后的地址

#zipfile.ZipFile(file[,mode[,compression[,allowZip64]]])
#创建一个ZipFile对象,表示一个zip文件,参数file表示文件的路径或类文件对象
zf = zipfile.ZipFile("\home\tlxy\tuling.zip")

#ZipFle.getinfo(name):
#获取zip文档内部指定文件的信息,返回一个zipfile.ZipInfo对象,它包括文件的详细信息
rst = zf.getinfo('dana.haha')
print(rst)

#ZipFile.namelist()
# 获取zip文档内所有文件的名称列表
nl = zf.namelist()
print(nl)

#ZipFile.extractall([path[,members[,pwd]]])
# 解压zip文档中所有文件到当前目录,参数members的默认值为zip文档内所有文件名称列表
rst = zf.extractall("\home\tlxy\tuling.zip")

猜你喜欢

转载自blog.csdn.net/qq_45911278/article/details/112507018