#!/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 # 输出用于分格文件的字符串

os.name # 查当前系统平台是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版本