sys模块
import sys
sys.version 返回python的版本
sys.argv 返回一个以脚本名,和传入的参数作为元素的列表
sys.path 返回一个以当前代码文件路径,python安装的路径,以及第三方库存放路径
sys.path.append("/opt") 添加路径
sys.exit(a) 退出程序,输出字符串,正常退出时exit(0)
sys.platform 返回操作系统平台名称
sys.stdout.write("hello")打印hello,但是末尾没有换行
sys.stdout.flush() 刷新缓冲区,强制刷新到屏幕
shutil模块
import shutil
f1 = open("file1",encoding="utf-8")
f2 = open("file2","w",encoding="utf-8")
shutil.copyfileobj(f1,f2) 将文件内容拷贝到另一个文件中,可以部分内容
shutil.copyfile("file1","file2") 直接拷贝文件
shutil.copymode("file1","file2") 仅拷贝权限。内容、组、用户均不变
shutil.copystat("file1","file2") 拷贝所有状态信息
shutil.copy("file1","file2") 拷贝文件和权限
shutil.copy2("file1","file2") 拷贝文件和状态信息
shutil.copytree("dir1","dir2") 拷贝目录,递归拷贝目录下所有文件
shutil.rmtree("dir2") 删除目录,包括目录下所有文件
shutil.move(src,dst) 递归的移动文件
shutil.make_archive(base_name,format,...) 创建压缩包
base_name:压缩包的文件名,也可以压缩包的路径。保存至当前目录,是路径就保存至路径
format:压缩包的种类,zip,tar,bztar,gztar
root_dir:要压缩的文件夹路径(默认当前目录)
owner:用户,默认当前用户
group:组,默认当前组
logger:用于记录日志,通常是logging.Logger对象
eg: shutil.make_archive("packname","zip","/opt/data") 将/opt下的data目录打包成packname.zip包,放在当前目录
shutil对压缩包的解压处理
import zipfile
#压缩
a = zipfile.ZipFile('test.zip','w') #压缩当前目录下的文件,可以选择压缩
a.write('test1.log')
print("test1.log压缩完成")
a.write('test2.log')
print("test2.log压缩完成")
a.close()
#解压
a = zipfile.ZipFile('test.zip','r')
a.extractall()
a.close()
############################################
import tarfile
#压缩
a = tarfile.open('test.tar','w') #压缩当前目录下的文件,可以选择压缩
a.add('/test/test1.log',arcname='test1.log')
a.add('/test/test2.log',arcname='test2.log')
a.close()
#解压
a = tarfile.open('test.tar,'r')
a.extractall() #可设置解压地址
a.close()