#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
import sys
import shutil
os.getcwd() # 获取当前文件路径
os.chdir("/home/admin") # 更改目录相当于cd命令
os.curdir # 返回当前目录 .
os.pardir # 返回当前目录父目录
os.makedirs("t/tt") # 可生成多级目录
os.removedirs("t") # 若目录为空则删除,并递归到上一次止录,如也为空则删除,依次类摧
os.mkdir("t") # 生成单级目录
os.rmdir("t") # 若目录为空删除单级目录
os.listdir("t") # 列出当前目录下的所有文件,包括子目录和隐藏文件
os.remove("test") # 删除一个文件
os.rename("old", "new") # 对一个文件或目录改名
os.stat("t") # 获取文件或目录信息
os.sep # 查当前系统的分格符,windows是\\ linux是/
os.linesep # 查当前系统的终纸符,windows为\r\t linux为\n
os.pathsep # 输出用于分格文件的字符串
# 查当前系统平台是windows琮是linx windows是nt linux是posix
os.system("ifconfig") # 运行shell命令
os.environ # 系统环境变量
os.path.abspath("/usr/bin") # 返回规范化的绝对路径
os.path.split("/usr/bin") # 将文件分格成元组返回
os.path.dirname("/usr/bin") # 返回目录usr
os.path.basename("/usr/bin") # 返回bin ,如果最后个符为/ 退回空
os.path.exists("/usr/bin") #判断/usr/bin是否存在,在为true 不在为false
os.path.isabs("/usr/bin") # 判断是否为绝对路径,是为true 不是为false
os.path.isfile("bin") # 文件存为true 不在为false
os.path.isdir("usr") # 目录在为true 不在为false
os.path.join("/usr/bin[,/root[,...]]") # 组合多个路径
os.path.getatime("bin") # bin文件的最后存取时间
os.path.getmtime("bin") # bin最后修改时间
os模块
os.mkdir("/root/test")父目录不在,创建失败
os.makedirs("/root/test")建立目录,父目录不存在也能建立
os.unlink("/root/test/1.txt")删除文件
os.remove("1.txt")删除文件
os.rmdir("/root/test")删除目录
os.listdir列表形式列出指定目录中内容
print(sorted(os.listdir(sys.argv[1])))
运行的时候可以直接接收变量
os.getcwd()
列出当前目录
os.chdir("/home")
更改工作目录
os.rename("work","work1")
目录重命名
os.path.absnmae("1.txt")
返回文件的绝对路径包含文件本身
os.path.dirname("1.txt")
返回文件的绝对路径
os.path.basename("1.txt")
返回文件本身不含路径
os.path.exists("1.txt")
如果存在文件或路径返回True
os.path.getszie("1.txt")
返回文件本身大小以字节为单位
os.path.isfile("1.txt")
返回是否是一个文件,如果是返回True
os.path.isdir("/root/1.txt")
是不是目录,如果是返回True
os.walk用法
import os
for a,b,c in os.walk("d:\\test"):
#查看test下所有文件夹
#print(a)
#输入test下所有的文件夹
#for iss in b:
#print(iss)
#输入test下所有文件
#for isss in c:
#print(isss)
shutil.copy("/roo/text", "/home/admin") # 复制文件到另一个文件或目录
shutil.copy2("/roo/text", "/home/admin") # 类似于cp -p 在copy基础上把修改时间 和访问时间 也一起复制过来
shutil.copyfile("/roo/text", "/home/admin") # 复制 文件,如果存在浮盖
shutil.copymode("/roo/text", "/home/admin") # 只复制文件权限
shutil.copystat("/roo/text", "/home/admin") # 复制修改,访问、时间 、也复制权限
shutil.move("/roo/text", "/home/admin") # 称动一个文件到另一个地方,如果文件移动到当前目录下,就是改名
shutil.disk_usage("/roo/text") # 获取当前磁盘目录信息,如total free used等
shutil.copytree("/roo/text", "/home/admin", True) #把第一个参数文件复制成第二个参数文件,第三个参数如果为true则复目录时将保持符号连接
shtil模块
shutl.copy("1.txt","2.txt")
把文件中的内容复制过去
shtil.move("/root/q.txt", "/admin/1.txt")
移动或重命名文件
shutil.make_archive("work","zip","/root/work/")
第一个参数是压缩包名称,第二个是格式,第三个是被压的文件位置
shutil.unpack_archive("work")
解压
import zipfile模块
zipfile.is_zipfile(1.txt)
查是不是有效的zip文件
import textwrap模块(把整体文本包装到单个字符串中)
textwrap.wrap(text,width)
返回列表形式:参数1要包装的文本,参2是每行显示的长度
textwrap.fill(text,width)
功能和上面一样,只是多了包含换行符,
textwrap.dedent(text)
删除文件中的前导空格
textwrap.indent(text,"*")
每行前面加*
sys.argv[0] # 命令行参数list 第一个元素是程序本身路径
sys.modules.keys() # 所有已导入的模块列表
sys.exc_info() # 当前处理的忆常类
sys.exit() # 退出程序,正常退出exit(0)
sys.hexversion() # 获取当前python解释程序的版本
sys.versio() #获取python版本信息
sys.maxint() # 最大int值
sys.maxunicode # 最大unicode值
sys.modules # 返回系统导入的模块字段
sys.path #返回模块搜索路径
sys.platform # 操作系统平台名称
sys.stdout # 标准输出
sys.stdin# 标准输入
sys.stderr # 错误输出
sys.exc_clear() # 清除当前线程的错误
sys.exec_prefix #返回python安装 位置
sys.byteorder # 本地字节规则指示器
sys.copyright # python版本相关信息
sys.api_version # 解释器c的api版本