一、sys模块

  常用方法有:

#!/usr/bin/env python3
#-*- coding:utf-8 -*-
# write by congcong import sys # 命令行参数List,第一个元素是程序本身路径
print(sys.argv) # ['D:/pycharm/Test1/Second_module/sys模块.py'] # 退出程序,正常退出时exit(0)
#sys.exit() # 获取python解释程序的版本信息
print(sys.version) # 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:54:40) [MSC v.1900 64 bit (AMD64)] # 最大的Int值
print(sys.maxsize) # # 返回模块的搜索路径,初始化使用PYTHONPATH环境变量的值
sys.path # 返回操作系统平台名称
print(sys.platform) # 标准输出
sys.stdout.write('plese:') # 标准输入
val = sys.stdin.readline()[:-1] # 获取最大递归层次
print(sys.getrecursionlimit()) # 设置最大递归层次
sys.setrecursionlimit(1000) # 获取解释器默认编码
print(sys.getdefaultencoding()) # 获取内存数据存到文件里的默认编码
print(sys.getfilesystemencoding())

二、shutil模块

  shutil模块是针对文件的高级操作,包括文件、文件夹和压缩包处理。

  主要方法如下:

#!/usr/bin/env python3
#-*- coding:utf-8 -*-
# write by congcong
import shutil,os #高级文件操作 # shutil.copyfileobj()打开然后拷贝文件
f1 = open(file='before_revise.txt',mode='r',encoding='utf-8')
f2 = open(file='bf_re_copy.txt',mode='w',encoding='utf-8')
shutil.copyfileobj(f1,f2,length=16) # 直接拷贝文件
shutil.copyfile('before_revise.txt','before_revise.txt2') # shutil.copymode(src,dst) # 仅拷贝权限,内容,组,用户均不变 。src表示原文件,dst表示拷贝的文件
shutil.copymode('staff_table.new','before_revise.txt2') # shutil.copystat(src,dst) # 拷贝状态信息,包括:mode bits,atime,mtime,flags
shutil.copystat('staff_table.new','before_revise.txt2') # shutil.copy(src,dst) # 拷贝文件和权限,相当与 copyfile()+ copymode() # shutil.copy2(src,dst) # 拷贝文件和状态信息 # shutil.copytree() # 递归的去拷贝文件
# shutil.ignore_patterns() # 不拷贝指定文件
#shutil.copytree('my_module','module_new',ignore=shutil.ignore_patterns('__init__.py','ignore.py')) # shutil.rmtree()# 递归的删除文件,可以忽略某些错误 # shutil.move() # 递归的移动文件,相当于剪切
#shutil.move('module_new','pack') # 将 module_new中的文件全部剪切到 pack # shutil.make_archive(base_name,format,...)
'''
创建压缩包并返回文件路径
base_name:压缩包的文件名,也可以是压缩包的路径。只是文件名时,则保存至当前目录,否则保存至指定路径
如:myfile => 保存至当前路径
如:/users/cc/myfile => 保存到/users/cc/下
format:压缩包种类,'zip','tar','bztar','gztar'
root_dir:要压缩的文件夹路径(默认当前目录)
owner:用户,默认当前用户
group:组,默认当前组
logger:用于记录日志,通常是logging.Logger对象 shutil对压缩包的处理是调用了 ZipFile 和 TarFile 两个模块来进行的
'''
shutil.make_archive('D:\pycharm\pack','zip','pack') import zipfile
# 压缩
# z = zipfile.ZipFile('pack2.zip','w')
# z.write('write.txt')
# z.write('迭代器.py')
# z.close()
# 解压
z = zipfile.ZipFile('pack2.zip','r')
z.extractall('p2') # extractall 可引出的,拔出的 解压后的压缩包名叫p2
z.close() import tarfile # 打包并不压缩
# 压缩
tar = tarfile.open('myfile.tar','w')
tar.add('D:\pycharm\Test1\Second_module\datetime模块.py',arcname='f_read.zip') # arcname 指定打包后的名字
tar.add('D:\pycharm\Test1\Second_module\my_module',arcname='my_mod.zip')
tar.close()
# 解压
tar = tarfile.open('myfile.tar','r')
tar.extractall('D:\pycharm')
tar.close()

最新文章

  1. Sqoop2中传入配置文件中url之【坑】
  2. jqgrid 中的事件
  3. PHP学习总结(一)
  4. GitHub 基本常用知识解答2
  5. albert1017 Linux下压缩某个文件夹(文件夹打包)
  6. css3属性 transition transform
  7. Button 自定义(一)-shape
  8. CSS边框属性一---border-radius
  9. (转载)MySql按日期进行统计(前一天、本周、某一天)
  10. hdu2660 Accepted Necklace (DFS)
  11. C# 使用 Code Snippet 简化 Coding
  12. C++STL中map容器的说明和使用技巧(杂谈)
  13. Adobe Fireworks CS6 Mac破解版
  14. python替换脚本
  15. 利用Java API生成50到100之间的随机数
  16. CSScript 使用纪要
  17. Linux下搭建gtk+2.0开发环境
  18. Jquery 单击_双击_鼠标经过_鼠标离开_背景样式变化
  19. mosquitto 配置文件解说
  20. python分布式爬虫打造搜索引擎--------scrapy实现

热门文章

  1. 【python】使用asyncore进行异步通信
  2. (效果一)js实现上拉加载
  3. BasicExcel的使用
  4. 21天学通C++_Day3_Part2
  5. 剑指offer-第六章面试中的各项能力(翻转单词的顺序VS左旋转字符串)
  6. loj #6136. 「2017 山东三轮集训 Day4」Left
  7. nginx 流量拷贝模块 ngx_http_mirror_module 安装试用
  8. Linux修改数据库的访问权限
  9. Aes加密算法加密模式介绍
  10. Linux 应用层open调用驱动层open过程