本文实例讲述了Python常用模块sys,os,time,random功能与用法。分享给大家供大家参考,具体如下:
sys:
介绍:主要包含涉及python编译器与系统交互的函数。
常用函数:
1
2
3
4
5
6
7
|
import sys
print (sys.argv) #本文件名,已经运行该程序时的参数
#[如在命令窗口中python3 mysys.py 参数1 参数2]
#那么参数1为sys.argv[1],以此类推
print (sys.version) #python版本号
print (sys.path) #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
# sys.exit(0)#中途退出程序,当参数非0时,会引发一个SystemExit异常
|
1
2
|
sys.stdout.write() #在屏幕中打印
sys.stdout.flush() #刷新标准缓冲区
|
os:
介绍:这个模块提供了一种方便的使用操作系统函数的方法。
常用函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
import os
print ( "-------getcwd()获取当前目录-------" )
print (os.getcwd())
print ( "-------chdir()改变当前所在目录-------" )
# print(os.chdir("c://users"))#c:\users r'c:users'
# print(os.getcwd())
print ( "------ . .. --------" )
print (os.curdir) #打印出 .
print (os.pardir) #打印出 ..
print ( "-------makedirs递归创建目录-------" )
#os.makedirs(r"c:c") #要创建c,如果a不存在则创建a,如果b不存在则创建b
print ( "-----remodir递归删除目录---------" )
#os.removedirs(r"c:c") #清除空文件夹,从c到a,如果a,b也是空的话也会删除。
print ( "------mkdir创建目录--------" )
# os.mkdir('c://a')
print ( "--------listdir列出指定目录下的所有文件和子目录------" )
print (os.listdir())
print ( "--------remove删除文件------" )
# print(os.remove('c://newfile'))
print ( "-------rename文件重命名-------" )
# os.rename('oldname','newname')
print ( "-------stat 获取文件或目录信息-------" )
print (os.stat( '.' ))
print ( "------sep 输出操作系统特点的路径分割符--------" )
print (os.sep)
print ( "-----linesep 输出当前平台的行终止符---------" )
list1 = []
list1.append(os.linesep)
print (list1)
print ( "------pathsep 输出用于分割文件的字符串--------" )
print (os.pathsep)
print ( "----------name输出操作平台----------" )
# print(os.name)#nt
print ( "-------system执行shell命令-------------" )
print (os.system( "dir" ))
print ( "----------path关于文件和目录的操作----------" )
# print(os.path.abspath(__file__))###返回绝对路径
print (os.path.split(os.path.abspath(__file__))) ##将路径切割成目录名和文件名
print (os.path.dirname(os.path.abspath(__file__))) #只取路径名
print (os.path.dirname(__file__)) ###__file__是包括完整路径名的,也是绝对路径
print (os.path.basename(__file__)) #只取文件名
print (os.path.exists( "c://a" )) #判断路径是否存在,不区分目录或文件
print (os.path.isabs(__file__)) #判断是否是绝对路径
print (os.path.isfile( "c://amd" )) #判断是否是文件
print (os.path.join(r 'c:' ,r '.txt' )) #组合绝对路径
print ( "----------environ获取当前系统所有环境变量----------" )
print (os.environ)
print ( "---------popen() 方法用于从一个命令打开一个管道-----------" )
print (os.popen( 'dir' ).read()) ##主要用于处理执行命令的返回结果
print ( "获取进程号" .center( 50 , '-' ))
print (os.getpid()) #获取当前进程号
print (os.getppid()) #获取父进程号
|
注意:
os.system跟os.popen的主要区别是前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的存储输出内容的一个文件描述符。
附:
subprocess模块是python从2.4版本开始引入的模块。主要用来取代 一些旧的模块方法,如os.system、os.spawn*、os.popen*、commands.*等。subprocess通过子进程来执行外部指令,并通过input/output/error管道,获取子进程的执行的返回信息。
time:
介绍:包含关于时间的函数
常用函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import time
print ( "--------时间戳-------------" )
print ( "时间戳time:" ,time.time()) #时间戳time: 1516435471.756463
print ( "----------结构化时间(tm_year=2018, tm_mon=1.....-----------" )
print ( "struct_time:" ,time.gmtime(time.time())) #tm_year=2018, tm_mon=1.........
print ( "timestamp->struct_time:" ,time.gmtime()) #UTC时间
print ( "local_time:" ,time.localtime()) #本地时区时间
print ( "struct_time->timstamp:" ,time.mktime(time.gmtime())) #结构化时间-->时间戳
print ( "----------ctime,asctime--------" )
print ( "string_time:" ,time.ctime()) ###字符串时间 Mon Feb 5 01:02:06 2018
print ( "asctime:" ,time.asctime()) ###字符串时间 Mon Feb 5 01:02:06 2018
print ( "----------format_time格式化时间、struct_time-----------" )
#结构化时间转格式化时间:%Y代表year,%m代表month,%d代表day, %H代表hour,%M代表minute,%S代表second
#只会取代%Y等字符,并不替换无对应意义的字符
print ( "struct_time -> format_time: " , time.strftime( "%Y-%m-%d %H:%M:%S" ,time.localtime()))
y = time.strftime( "%Y-%m-%d %H:%M:%S" ,time.localtime())
#格式化时间转结构化时间
print ( "format_time -> struct_time: " ,time.strptime(y, "%Y-%m-%d %H:%M:%S" ))
print ( "------------year--------------" )
print ( "year:" ,time.localtime().tm_year)
|
random:
介绍:存储着关于“随机”的函数
常用函数:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
import random
print ( "---------0到1,随机浮点值-----------" )
print (random.random())
print ( "------------从范围中,随机取值,1<=x<=2--------" )
print (random.randint( 1 , 2 ))
print ( "------------从指定范围中,随机取值--------" )
print (random.randrange( 1 , 3 ))
print ( "------------从序列中,随机值--------" )
print (random.choice( "hello" )) #从序列中随机取值
print (random.choice([ 0 , 11 , 3 , 99 ]))
print ( "------------从序列中,随机取指定个数值--------" )
print (random.sample( 'heigo' , 2 )) #
print ( "------------随机取浮点值,start,end--------" )
print (random.uniform( 1 , 2 )) #start,end
print ( "-------洗牌,打乱排序-----" )
l = [ 0 , 3 , 4 , 5 , 67 , 9 ]
random.shuffle(l)
print (l)
|
希望本文所述对大家Python程序设计有所帮助。
原文链接:https://www.cnblogs.com/progor/p/8415476.html