在这篇文章中,我们来学习Python常用的一些内置模块的基本操作!
1. sys
sys.argv
代码:
1.py
import sys
print(sys.argv)
解释:
程序的命令行参数
实例:
通过cmd运行该程序,并添加一些参数
可以看到返回值是一个列表,列表的第一个值为文件路径,后面的就是添加的一些参数
sys.exit()
顾名思义,就是退出程序
代码:
import sys
print(1)
print(sys.exit())
print(2)
输出:
解释:
通过sys.exit退出后不会返回任何东西,pycharm提供的stub中的代码如下:
可见它的返回值是NoReturn,也就是没有返回值(None)
程序停止后,不会运行print(2),所以控制台没有这个输出
sys.exit中传入一个参数默认为0,尝试向它传入一个数:
代码:
import sys
print(sys.exit(0x5c6b))
没有任何输出,程序以十六进制数5c6b(23659)结束
我们尝试传入一些其他的数据类型
代码:
import sys
print(sys.exit(dict()))
输出:
也就是说传入一些非数字的参数会用红色字体输出并以1结束程序
sys.modules
代码:
import sys
print(sys.modules)
输出:
解释:
sys.modules是一个字典,包含了所有库的信息
sys.platform
sys.platform表示系统的类型
sys.stdout
代码:
import sys
sys.stdout.write("abcdefg")
sys.stdout.write("hello")
输出:
解释:
stdout是标准输出流,write方法直接写入输出内容,相当于print,但是这里不会自带换行
sys.stderr
代码:
import sys
sys.stderr.write(str("Error: Something Wrong!"))
输出:
解释:
标准错误流,同sys.stdin,sys.stdout都是TextIO对象,stub代码如下:
os
os.getcwd() & os.path.exists() & os.chdir()
代码:
1.py
import os
print(os.getcwd())
print(os.path.exists("test.txt"))
print(os.path.exists("folder"))
print(os.chdir("folder"))
print(os.getcwd())
print(os.path.exists("test.txt"))
print(os.path.exists("folder"))
文件目录
输出:
解释:
os.getcwd() 返回当前的工作目录
os.path.exists(文件名) 是否存在文件
os.chdir() 切换工作目录
代码运行:
输出工作目录
一开始的工作目录下只有folder和1.py所以第二个输出为False
chdir无返回值,输出None
输出新的工作目录
工作目录下包含test.txt,输出True
工作目录下不包含folder文件夹,输出False
os.mkdir() & os.rename() & os.rmdir()
目录:
2.py代码如下:
import os
os.mkdir("nf1")
os.mkdir("nf2")
os.mkdir("nf3")
os.mkdir("nf4")
os.rmdir("nf3")
os.rename("nf4","renamenf4")
运行后目录:
解释:
mkdir创建文件夹
rmdir删除文件夹
rename重命名文件/文件夹
代码运行:
创建nf1 nf2 nf3 nf4四个文件夹
将nf3删除
将nf4重命名为renamenf4
区别 os.remove() & os.rmdir()
目录:
2.py代码:
import os
os.remove("nf.txt")
os.rmdir("nf")
解释:
remove用于删除文件,rmdir用于删除文件夹,运行后nf.txt和nf全部被删除
错误示范:
尝试用remove删除nf文件夹
import os
os.remove("nf")
抛出PermissionError错误
错误示范:
尝试用rmdir删除nf.txt
import os
os.rmdir("nf.txt")
抛出罕见的NotADirectoryError(非文件夹)错误
os.system()
代码
import os
os.system("calc")
效果:
打开了计算器
解释:
os.system方法执行cmd控制台命令,calc即打开计算器
time
time.time()
代码:
import time
print(time.time())
输出
1660023826.7452953
解释:
该方法返回从1970年1月1日0时0分0秒到现在经过的时间(秒)
time.localtime()
代码:
import time
now=time.localtime(time.time())
print(now)
print(now.tm_isdst)
print(now.tm_year)
print(now.tm_mon)
print(now.tm_mday)
print(now.tm_hour)
print(now.tm_min)
print(now.tm_sec)
print(now.tm_wday)
print(now.tm_yday)
输出:
time.struct_time(tm_year=2022, tm_mon=8, tm_mday=9, tm_hour=13, tm_min=47, tm_sec=21, tm_wday=1, tm_yday=221, tm_isdst=0)
0
2022
8
9
13
47
21
1
221
解释:
localtime获取本地的时间
程序输出从上到下依次为:
struct_time对象;是否为夏令时;年;月;日;时;分;秒;星期几,周一到周日依次为0到6;一年中的第几天
datetime
代码:
from datetime import datetime as dt
print(dt.now())
输出:
2022-08-09 13:55:49.861965
代码:
from datetime import datetime as dt
print(dt.today())
输出:
2022-08-09 13:59:37.289791
strftime进行格式化操作
解释:
today和now实现的效果都一样,返回年月日时分秒毫秒
代码:
from datetime import datetime as dt
print(dt.today().strftime("%Y-%m-%d"))
输出
2022-08-09
strftime格式化操作:
%y | 两位数年份 |
%Y | 四位数年份 |
%m | 月份 |
%d | 日 |
%H | 24小时 小时数 |
%I (大写字母i) | 12小时 小时数 |
%M | 分钟 |
%S | 秒 |
%a | 星期(简化) |
%A | 星期(完整) |
%b | 月份(简化) |
%B | 月份(完整) |
%j | 一年的第n天 |
%U | 一年中的第n个星期,一周在周日开始 |
%w | 星期,一周在周日开始,0表示周日 |
%W | 一年中的第n个星期,一周在周一开始 |
%Z | 时区 |
%% | 百分号 |
代码:
from datetime import datetime as dt
print(dt.today().strftime("%Y-%m-%d %H:%M:%S"))
print(dt.today().strftime("%a %A %b %B %j"))
输出:
2022-08-09 14:10:53
Tue Tuesday Aug August 221
math
代码:
from math import *
print(pi) # 圆周率
print(e) # 自然常数
print(ceil(85.123)) # 向上取整
print(ceil(85.987))
print(floor(75.352)) # 向下取整
print(floor(75.959))
print(pow(7,3)) # 7的3次方
print(sqrt(2)) # 开平方根
print(sin(45)) # 正弦
print(cos(45)) # 余弦
print(tan(45)) # 正切
print(fabs(-1423.324)) # 绝对值
print(radians(50)) # 求弧度
print(fsum(range(1,101))) # 求和
print(log(16384,2)) # 以2为底的16384的对数
print(log2(65536)) # 以2为底的65536的对数
print(log10(100000000000)) # 以10为底的100000000000的对数
print(factorial(15)) # 阶乘:15!
输出:
3.141592653589793
2.718281828459045
86
86
75
75
343.0
1.4142135623730951
0.8509035245341184
0.5253219888177297
1.6197751905438615
1423.324
0.8726646259971648
5050.0
14.0
16.0
11.0
1307674368000
解释:
注释已经写在上方代码里啦!
好了!本次的教程就到这里!喜欢的话别忘了点赞收藏+关注哦!
谢谢支持!