1. os模块
os模块是与操作系统交互的一个接口,包含普遍的操作系统功能,如果你希望你的程序能够与平台有关的话,这个模块是尤为重要的。
# os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 # pwd
# os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd # cd
# os.curdir 返回当前目录: ('.')
# os.pardir 获取当前目录的父目录字符串名:('..')
# os.makedirs('dirname1/dirname2') 可生成多层递归目录 # mkdir -p
# os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 rmdir -p
# os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname # mkdir
# os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname # rmdir
# os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 # ls -A
# os.remove() 删除一个文件 # rm -f
# os.rename("oldname","newname") 重命名文件/目录 rename mv
# os.stat('path/filename') 获取文件/目录信息
# os.sep 输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
# os.linesep 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
# os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:
# os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
# os.system("bash command") 运行shell命令,直接显示 #一般用于脚本中去打印 # 这种方法实用性不如 os.popen subprocess.getoutput
# os.environ 获取系统环境变量
# os.path.abspath(path) 返回path规范化的绝对路径
# os.path.split(path) 将path分割成目录和文件名二元组返回 # 不去检测文件系统
# os.path.dirname(path) 返回path的上一层目录。其实就是os.path.split(path)的第一个元素
# os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
# os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False # if [ -e ]
# os.path.isabs(path) 如果path是绝对路径,返回True
# os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False # if [ -f ]
# os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False # if [ -d ]
# os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,最后一个绝对路径之前的参数将被忽略
# os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
# os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
2. 练习os模块
import os
# 获取当前工作目录,即当前python脚本工作的目录路径
os.getcwd()
# 切换当前脚本工作目录;相当于shell下cd
os.chdir("./dirname")
# 创建单级目录,相当于 shell 中的 mkdir dirname
os.mkdir('dirname')
# 递归创建目录
os.makedirs('dir1/dir2')
# 删除单级空目录,若目录非空则无法删除,并报错。
os.rmdir('dirname')
# 递归删除 空 目录
os.removedirs('dir1/dir2')
# 列出指定目录下的所有文件和目录,包括隐藏文件,并以列表方式打印
os.listdir('dirname')
3. sys模块
提供了一系列有关Python运行环境的变量和函数
#sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,
#用于操控python运行时的环境。
!# sys.argv 接收命令行参数,生成一个List,第一个元素是程序本身路径
# sys.modules.keys() 返回所有已经导入的模块列表
# sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
!# sys.exit(n) 退出程序,正常退出时exit(0)
# sys.hexversion 获取Python解释程序的版本值,16进制格式如:0x020403F0
# sys.version 获取Python解释程序的版本信息
# sys.maxsize 获取内存中最大的Int值 python2中是maxint
# sys.maxunicode 获取内存从中最大的Unicode值
# sys.modules 返回系统导入的模块字典,key是模块名,value是模块
!# sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
!# sys.platform 返回操作系统平台名称
# sys.stdout 标准输出
# sys.stdin 标准输入
# sys.stderr 错误输出
!# sys.exec_prefix 返回平台独立的python文件安装的位置
# sys.byteorder 本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'
# sys.copyright 记录python版权相关的东西
# sys.api_version 解释器的C的API版本
4. 练习sys
import sys
sys.argv # 命令行参数列表,第一个元素是程序本身路径;用于接收执行
# Python 脚本时传的参数
# 示例:
python3 echo.py
a b c
# echo.py 文件内容
import sys
print(sys.argv[1:])
# 输出结果
['a', 'b', 'c']
print('脚本名称:{}'.format(sys.argv[0]))
for i in sys.argv:
if i == sys.argv[0]:
continue
print('参数为:',i)
print('总参数个数:{}'.format(len(sys.argv)-1)
[root@python python]# ./sysargv.py s1 s2 s3 s4 s5
脚本名称:./sysargv.py
参数为: s1
参数为: s2
参数为: s3
参数为: s4
参数为: s5
总参数个数:5