Python 模块学习

一:os模块                                                                                  

1.python OS模块的介绍

   os模块是系统编程的操作模块,可以处理文件和目录;

  可以查看OS模块的帮助文档:

1 >>> import os
2 >>> help(os)

2.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 0
View Code

二、sys模块                                                                                

 1、python sys模块的介绍

该模块提供对解释器使用或维护的一些变量以及与解释器强烈交互的函数的访问。

 2.sys模块常见用法

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')

 

posted @ 2018-03-08 12:26  Lambdax  Views(231)  Comments(0)    收藏  举报