在这篇文章中,我们来学习Python常用的一些内置模块的基本操作!
代码:
1.py
- import sys
-
- print(sys.argv)
解释:
程序的命令行参数
实例:
通过cmd运行该程序,并添加一些参数

可以看到返回值是一个列表,列表的第一个值为文件路径,后面的就是添加的一些参数
顾名思义,就是退出程序
代码:
- 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结束程序
代码:
- import sys
-
- print(sys.modules)
输出:

解释:
sys.modules是一个字典,包含了所有库的信息
sys.platform表示系统的类型
![]()
代码:
- import sys
-
- sys.stdout.write("abcdefg")
- sys.stdout.write("hello")
输出:

解释:
stdout是标准输出流,write方法直接写入输出内容,相当于print,但是这里不会自带换行
代码:
- import sys
-
- sys.stderr.write(str("Error: Something Wrong!"))
输出:

解释:
标准错误流,同sys.stdin,sys.stdout都是TextIO对象,stub代码如下:

代码:
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
目录:

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
目录:

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(非文件夹)错误

代码
- import os
-
- os.system("calc")
效果:
打开了计算器
解释:
os.system方法执行cmd控制台命令,calc即打开计算器
代码:
- import time
-
- print(time.time())
输出
1660023826.7452953
解释:
该方法返回从1970年1月1日0时0分0秒到现在经过的时间(秒)
代码:
- 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;一年中的第几天
代码:
- 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
解释:
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
代码:
- 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
解释:
注释已经写在上方代码里啦!
好了!本次的教程就到这里!喜欢的话别忘了点赞收藏+关注哦!
谢谢支持!