python模块详解 sys shutil

sys模块

sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n)        退出程序,正常退出时exit(0)
sys.version        获取Python解释程序的版本信息
sys.maxint         最大的Int值
sys.path           返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform       返回操作系统平台名称
sys.stdout.write('please:')
val = sys.stdin.readline()[:-1]

 shutil 模块

高级的文件、文件夹、压缩包处理模块

文件、文件夹操作

copyfileobj(f1,f2)利用两个文件对象进行文件复制。把f1的内容复制到f2里面。保证f2可写。

import shutil
f1 = open('test1.txt',encoding='utf-8')
f2 = open('test2.txt','w',encoding='utf-8')
shutil.copyfileobj(f1,f2)

 copyfile(f1_name,f2_name)直接根据两个文件名字进行文件复制,新文件不存在自动新建。 把f1的内容复制到f2里面。 底层用的是copyfileobj。

import shutil
shutil.copyfile('test1.txt','test3.txt')

 copymode(f1,f2)复制f1文件的权限到f2。内容、组、用户均不变。

 

copystat(f1,f2)复制f1所有的文件信息到f2。包括mode bits,atime,mtime,flags

 

copy(f1,f2) 复制f1文件和权限到f2。底层是先copyfile,在copymode。

copy2(f1,f2) 复制f1文件和状态信息到f2。

copytree(d1,d2)递归的复制文件。把d1目录下的文件复制到d2下。d2不存在自动创建。

rmtree(d1)递归的删除文件。把d1目录删除。

move(d1,d2)递归的移动文件。

文件压缩

make_archive(base_name,format,...) 创建压缩包并返回文件路径。

base_name:压缩包的文件名,也可以 是压缩包的路径。只是文件名时,则保存至当前目录,否则保存到指定的路径。

format : 压缩包种类,zip,tar,bztar,gztar。

root_dir:要压缩的文件夹路径(默认当前路径)

ownwe:用户,默认是当前用户

group:组

logger:用于记录日志。

print(shutil.make_archive(r'E:\pywww\test','zip',r'E:\pywww\day01'))#E:\pywww\test.zip

 

shutil对压缩包的处理是调用ZipFile和TarFile两个模块来进行的。

ZipFile 压缩解压

这个适合单个文件压缩

z = zipfile.ZipFile(r'E:\pywww\test3.zip','w') #路径表示压缩后的路径个文件名
z.write('04.py') #要压缩的文件
z.close()

 解压:

z = zipfile.ZipFile(r'E:\pywww\test3.zip','r')#目录表示要解压的文件,r表示解压 
z.extractall()#将zip文档内的指定文件解压到当前目录。
z.close()

 

posted on 2017-08-04 10:51  老榕树下的咖啡屋  阅读(227)  评论(0)    收藏  举报