一、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()

sys模块和shutil模块的更多相关文章

  1. os模块和shutil模块

    # coding=utf-8 import os path="D:\\test" ######### 目录结构如下 # test # / \ \ \ # test01 test02 ...

  2. python常用模块之shutil模块

    python常用模块之shutil模块 shutil模块,高级的文件.文件夹.压缩包处理模块 1.shutil.copyfile(src,des[,length]):将文件内容拷贝到另一个文件 In ...

  3. [转]python中对文件、文件夹的操作——os模块和shutil模块常用说明

    转至:http://l90z11.blog.163.com/blog/static/187389042201312153318389/ python中对文件.文件夹的操作需要涉及到os模块和shuti ...

  4. 元数据的概念以及相关的操作os模块、shutil模块

    查看文件的元数据 stat [OPTION]… FILE… OPTION: -f 输出文件系统的状态,而非文件的状态 -t 显示简要格式的文件元数据信息 FILE:可同时查看多个文件的元数据信息,多个 ...

  5. Python入门-模块2(sys模块、shutil 模块)

    sys模块: sys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 s ...

  6. python入门之sys模块、shutil模块

    sys模块 import sys sys.version 返回python的版本 sys.argv 返回一个以脚本名,和传入的参数作为元素的列表 sys.path 返回一个以当前代码文件路径,pyth ...

  7. logging模块、shutil模块、subprocess模块、xml模块

    logging模块 shutil模块 subprocess模块 xml模块 logging模块 函数式简单配置 import logging logging.debug('debug message' ...

  8. (汇总)os模块以及shutil模块对文件的操作

    ''' # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于Windows,它是'nt',而对于Linux ...

  9. Python进阶5---StringIO和BytesIO、路径操作、OS模块、shutil模块

    StringIO StringIO操作 BytesIO BytesIO操作 file-like对象 路径操作 路径操作模块 3.4版本之前:os.path模块 3.4版本开始 建议使用pathlib模 ...

随机推荐

  1. 【爬虫】beautiful soup笔记(待填坑)

    Beautiful Soup是一个第三方的网页解析的模块.其遵循的接口为Document Tree,将网页解析成为一个树形结构. 其使用步骤如下: 1.创建对象:根据网页的文档字符串 2.搜索节点:名 ...

  2. Tinymce group plugin

    本文介绍一个tinymce插件,用来组合显示下拉的按钮.基于4.x,不兼容3.x. 以前 配置toolbar功能按钮 需要          toolbar1: "code undo red ...

  3. Android Issue分析方法(用anr来说明)

    Log的产生大家都知道 , 大家也都知道通过DDMS来看log , 但什么时候会产生log文件呢 ?一般在如下几种情况会产生log文件 . 1,程序异常退出 , uncaused exception ...

  4. jquery自定义插件实现分页效果

    这节介绍如何自定义jquery插件,实现分页效果,话不多说,先看看实现的效果: 分页插件 实现的代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTM ...

  5. 深入Guerrilla Games解密次世代开山大作《杀戮地带暗影坠落》(The technology of Killzone Shadow Fall)

    文章摘要:这几天终于有时间,把全文翻译完了,自己感觉不是太满意,不过大家能看懂就好,就当一个学习的机会.整篇文章通过SONY第一方游戏工作室Guerrilla Games主创的语录,为我们展现了次世代 ...

  6. RAD Studio Mobile Roadmap updated,XE5 will released on next month, Andriod will be supported.

    RAD Studio Mobile Roadmap updated   Embarcadero updated his RAD Studio Mobile Roadmap. This concern ...

  7. HDU - 6098:Inversion(暴力均摊)

    Give an array A, the index starts from 1. Now we want to know B i =max i∤j A j  Bi=maxi∤jAj , i≥2 i≥ ...

  8. 使用wsgiref库diy简单web架构

    1. 了解CGI和WSGI (1)CGI CGI(Common Gateway Interface)通用网关接口,即接口协议,前端向服务器发送一个URL(携带请求类型.参数.cookie等信息)请求, ...

  9. netcat 瑞士军刀

    netcat被誉为网络安全界的‘瑞士军刀’,一个简单而有用的工具,透过使用TCP或UDP协议的网络连接去读写数据.它被设计成一个稳定的后门工具,能够直接由其它程序和脚本轻松驱动.同时,它也是一个功能强 ...

  10. Log4net系列一:Log4net搭建之文本格式输出【转】

    前言 项目开发中,记录项目日志是必须的,如果非要说日志的重要性(日志可看做,飞机的黑匣子,或者汽车的行车记录仪),根据等级进行记录,方便我们排查相关问题,以后项目运维中,也方便很多.基本上我们进入一家 ...