os模块、sys模块和shutil模块

1>os模块

'''
os模块,提供很多程序与系统交互的功能
'''
import os

os.getcwd()  # 获取当前执行程序的路径
os.listdir(os.getcwd())  # 列出指定目录下所有的文件和目录名
os.path.isfile('D:\pyscripts\web_program\homework\employee.ini') # 判断是否文件
os.path.isdir('D:\pyscripts\web_program\homework\压缩包')   # 判断是否目录
os.path.isabs('D:\pyscripts\web_program\homework')  # 判断是否绝对路径
os.path.exists('D:\pyscripts\web_program\homework\eaaa.tex')   # 判断目录或者文件是否真实存在
os.path.split('D:\pyscripts\web_program\homework\employee.ini')  # 切割文件和路径
os.path.splitext('D:\pyscripts\web_program\homework\employee.ini')   # 切割后缀名与路径\文件
os.path.abspath(os.getcwd()) # 获取指定文件/目录的绝对路径
os.path.dirname(os.getcwd()) # 获取指定文件/目录路径的路径(也就上往上一层)
os.path.basename(os.getcwd())    # 获取指定文件/目录的当前存放位置的目录名称
os.path.join(os.getcwd(), 'huangaaa.txt')    # 拼接目录与文件
os.getenv('Path')    # 获取操作系统环境变量(参数为变量名)的值
os.linesep   # 返回当前平台使用的行终止符
os.name  # 当前的系统平台
os.stat('D:\pyscripts\web_program\homework\employee.ini')    # 获取文件的属性详情
os.path.getsize('D:\pyscripts\web_program\homework\employee.ini')    # 获取文件大小
os.environ   # 返回操作系统的所有环境变量信息(名称:值)
os.get_terminal_size()   # 获取当前终端大小
os.rename('employee1.ini', 'employee.ini')  # 改名称(windows目的名称已存在会报错,linux下若有相应权限则直接覆盖)
os.remove('文件路径')   # 删除一个文件
os.removedirs() # 删除多个目录
os.system('ping 192.168.1.1') # 执行操作系统的命令
os.environ.setdefault('HOME', '/aaa/aaa')   # 临时设置环境变量,仅程序运行有效
os.mkdir()  # 创建目录
os.makedirs()   # 创建多级目录
os.chdir('dirname')  # 改变工作目录到dirname
os.kill()   # 杀死进程,两个参数,进程id和信号

getcwd()命令的坑(获取当前执行程序的当前路径,注意,这里并不是指该脚本的存放路径,而是你执行这个脚本你所在的位置),如下:






2>sys模块

import sys
sys.argv # 命令行参数list,第一个元素是程序本身路径
sys.exit()    # 正常退出为0,异常退出为1,也可以指定其他整数
sys.version  # python解释器的版本信息
sys.path # 返回模块的搜索路径,初始化时为python path环境变量的值
sys.platform # 返回操作系统的名称
sys.getrecursionlimit()  # 获取最大递归层数
sys.setrecursionlimit(1001) # 设置最大递归层数
sys.getdefaultencoding() # 获取解释器默认编码
sys.getfilesystemencoding()  # 获取内存数据存到文件里的默认编码

命令行执行脚本时传参



3>shutil模块:高级的文件操作模块,对文件,文件夹,压缩包等处理

shutil.copyfileobj()    # 拷贝文件到另一个文件,可以指定大小
shutil.copyfile()   # 拷贝文件(目标文件无需存在)
shutil.copymode()   # 拷贝文件权限(目标文件必须存在,且目标文件的内容,属组,属主等信息均不会变)
shutil.copystat()   # 拷贝文件状态
shutil.copy()   # 拷贝文件和权限
shutil.copy2()  # 拷贝文件和状态
shutil.copytree()   # 多层拷贝\递归拷贝
shutil.rmtree() # 多层删除\递归删除
shutil.move()   # 移动文件,类似mv,重命名,支持递归移动
shutil.make_archive()   # 创建压缩包并返回文件路径

1>拷贝文件


2>只拷贝权限和只拷贝状态(文件内容,等不拷贝)


3>copy和copy2,都是拷贝文件,目标文件无需存在,copy带权限信息,copy2带状态信息


4>递归拷贝


 4.2 忽略某些拷贝项的递归拷贝


5>递归删除


6>递归移动


7>压缩,打包,解压

 7.1 压缩


7.2 打包


7.3 解压


7.4 其他







  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值