Python 模块学习
os模块是系统编程的操作模块,可以处理文件和目录;
可以查看OS模块的帮助文档:
1 >>> import os 2 >>> help(os)
import os
os.name #windos是nt,linux是posix
os.sep #用于系统路径中的分割符,windows系统通过"\\",linux类系统中的分隔符是"/",mac os系统中是":"
os.getcwd() #获取当前路径
os.listdir()#列出当前路径下的目录
os.mkdir()#在当前路径下创建目录
os.rmdir()#删除当前路径下的目录
os.rename('jiayou.txt','readme.txt')#重命名一个文件
os.path.isfile('Doc//python363.chm') #判断是否是一个文件
os.path.isdir('Doc') #判断是否是一个目录
os.path.isabs()#判断是否是绝对路径
os.path.exists()#判断路径是否存在
os.path.split("D:\\Programs\\Python") #结果是(D:\\Programs ,'Python')
os.remove('abc.txt')#删除一个文件
os.stat('abc.txt') #查看文件属性
os.path.getsize('abc.txt') #获取文件大小
os.chmod("/result.json",stat.S_IRWXU|stat.S_IRWXG|stat.S_IRWXO) #stat.S_IROTH (read by others) stat.S_IRUSER (read by user)
os.makedirs("11/22") #递归创建目录
os.removedirs("11/22") #删除多级目录
os.path.getatime("abc.txt") #返回abc.txt文件或者目录到存取时间
os.path.getmtime("abx.txt") #返回abc.txt文件或者目录的最近修改时间
1 >>> os.name 2 'nt' 3 >>> 4 >>> os.getcwd() 5 'D:\\Programs\\Python\\Python36' 6 >>> os.listdir() 7 ['dirname1', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'python3.dll', 'python36.dll', 'pythonw.exe', 'Scripts', 'tcl', 'Tools', 'vcruntime140.dll'] 8 >>> os.listdir("D:") 9 ['dirname1', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'python3.dll', 'python36.dll', 'pythonw.exe', 'Scripts', 'tcl', 'Tools', 'vcruntime140.dll'] 10 >>> os.listdir("D:\\Programs") 11 ['Python'] 12 >>> os.mkdir("D:\\Programs\\python2") 13 >>> os.rmdir("D:\\Programs\\python2") 14 >>> os.rename('jiayou.txt','readme.txt')View Code
1 >>> os.sep 2 '\\' 3 >>> os.listdir() 4 ['dirname1', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'python3.dll', 'python36.dll', 'pythonw.exe', 'Scripts', 'tcl', 'Tools', 'vcruntime140.dll'] 5 >>> os.path.isfile('Doc') 6 False 7 >>> os.path.isfile('Doc//python363') 8 False 9 >>> os.path.isfile('Doc//python363.chm') 10 True 11 >>> os.path.isdir('Doc') 12 True 13 >>> os.path.isabs('Doc//python363.chm') 14 False 15 >>> os.path.isabs("D:\\Programs\\python") 16 True 17 >>> os.path.exists("D:") 18 True 19 >>> os.path.exists("L:") 20 False 21 >>> os.path.split("D:") 22 ('D:', '') 23 >>> os.path.split("D:\\Programs\\Python") 24 ('D:\\Programs', 'Python') 25 >>> 26 >>> os.stat('abc.txt') 27 os.stat_result(st_mode=33206, st_ino=2533274790460103, st_dev=1322494639, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1520482728, st_mtime=1520482728, st_ctime=1520482728) 28 >>> os.path.getsize('abc.txt') 29 0View Code
该模块提供对解释器使用或维护的一些变量以及与解释器强烈交互的函数的访问。
sys.argv传递给python脚本的命令行参数列表。argv[0]是脚本名称
#!/usr/bin/env python #-*- coding:utf-8 -*- import sys #打印脚本名称 print("The script's name is:%s" %(sys.argv[0])) for i in sys.argv: print(i)
[root@localhost scripts]# python sys.py xiaojia nihao a The script's name is:sys.py sys.py xiaojia nihao a
sys.platform
获取当前执行环境的平台
>>> import sys >>> sys.platform 'win32' >>> import sys >>> sys.platform 'linux'
sys.path
返回模块的搜索路径,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。
>>> sys.path ['', 'D:\\Programs\\Python\\Python36\\Lib\\idlelib', 'D:\\Programs\\Python\\Python36\\python36.zip', 'D:\\Programs\\Python\\Python36\\DLLs', 'D:\\Programs\\Python\\Python36\\lib', 'D:\\Programs\\Python\\Python36', 'D:\\Programs\\Python\\Python36\\lib\\site-packages']
sys.version
>>> sys.version '3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)]'
sys.exit(n)
从python退出,这是通过引发SystemExit异常实现的,所以最终语句的字句指定的清理操作try得到遵守,并且可以在外层拦截退出尝试。如果它是一个整数,零被认为是“成功终止”,并且任何非零值被shell等认为是“异常终止”。
#!/usr/bin/env python # -*- coding:utf-8 -*- import sys print("hello.....") #sys.exit(0) try: sys.exit(0) except SystemExit: print("SystemExit 2") print("Byebye")
[root@localhost scripts]# python sys_exit.py hello..... SystemExit 2 Byebye
sys.builtin_module_names
>>> sys.builtin_module_names ('_ast', '_bisect', '_blake2', '_codecs', '_codecs_cn', '_codecs_hk', '_codecs_iso2022', '_codecs_jp', '_codecs_kr', '_codecs_tw', '_collections', '_csv', '_datetime', '_findvs', '_functools', '_heapq', '_imp', '_io', '_json', '_locale', '_lsprof', '_md5', '_multibytecodec', '_opcode', '_operator', '_pickle', '_random', '_sha1', '_sha256', '_sha3', '_sha512', '_signal', '_sre', '_stat', '_string', '_struct', '_symtable', '_thread', '_tracemalloc', '_warnings', '_weakref', '_winapi', 'array', 'atexit', 'audioop', 'binascii', 'builtins', 'cmath', 'errno', 'faulthandler', 'gc', 'itertools', 'marshal', 'math', 'mmap', 'msvcrt', 'nt', 'parser', 'sys', 'time', 'winreg', 'xxsubtype', 'zipimport', 'zlib')优质内容筛选与推荐>>