一、random模块
1、random 随机生成[0,1)的小数:
-res=random.random()
-print(res)
-0.9046791911295252
2、randint 随机生成一个a到b之间的整数,前闭后闭 [a,b]
-res=random.randint(1,10)
-print(res)
-6
3、randrange 随机生成一个a到b之间的整数,前闭后开 [a,b)
-res=random.randrange(0,100)
-print(res)
-9
4、uniform [a,b)生成一个 a到b之间的小数,当b为整数时,区间变为[a,b]
-res=random.uniform(1,2)
-print(res)
-1.8606205204140212
5、choice 传入列表,随机从列表中出一个值
-res=random.choice([1,2,3,[1,2,3],[4,5,6],5,6,])
-print(res)
-6
6、sample (list,n)从列表中随机出n个,返回列表
-l=[1,2,3,4,5,6]
-es=random.sample(l,4)
-print(res)
-[6, 2, 3, 4]
7、shuffle 传一个列表,直接将列表随机打乱,无返回值
-l = [1, 2, 3, 4, 5, 6]
-random.shuffle(l)
-print(res)
-[2, 6, 5, 1, 3, 4]
二、OS
1、os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
-print(os.getcwd())
-D:\
2、os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
-os.chdir('D:\\a.txt')
-print(os.getcwd())
-D:\a.txt
3、os.curdir 返回当前目录: ('.')
-print(os.curdir)
-.
4、os.pardir 获取当前目录的父目录名:('..')
-print(os.pardir)
-..
5、os.makedirs('dirname1/dirname2/dirname3') 可生成多层递归目录
-os.makedirs('a\b\c')
6、os.removedirs('dirname1/dirname2/dirname3') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
-os.removedirs(a\b\c)
7、os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname
-os.mkdir('a')
8、os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
-os.rmdir(a)
9、os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
-res=os,listdir('D:\\')
-print(res)
-['D:\','D:\root']
10、os.remove(path) 删除一个文件
-os.remove('a.txt')
11、os.rename("oldname","newname") 重命名文件/目录
-os.rename('old.txt','new.txt')
12、os.stat('path/filename') 获取文件/目录信息
-print(os.stat('..'))
-os.stat_result(st_mode=16895, st_ino=12103423998565739, st_dev=516081658, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1610346977, st_mtime=1610326028, st_ctime=1610346957)
13、os.sep 返回操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
-print(os.sep)
-\
14、os.linesep 返回当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
-print(os.linesep)
-
15、os.pathsep 返回用于分割文件路径的字符串 win下为;,Linux下为:
-print(os.pathsep)
-;
16、os.name 返回字符串指示当前使用平台。win->'nt'; Linux->'posix'
-print(os.name)
-nt
17、os.system("bash command") 运行括号内命令,直接显示
-os.system("mysqld")
-'mysqld' �����ڲ����ⲿ���Ҳ���ǿ����еij���
���������ļ���
18、os.environ 获取系统环境变量
-print(os.environ)
-略(太多了)
19、os.path.abspath(path) 返回path规范化的绝对路径
-print(os.path.abspath('a'))
-D:\a
20、os.path.split(path) 将path分割成目录和文件名二元组返回
-print(os.path.split(__file__))
-('D:/','a.py')
21、os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)返回的第一个元素
-print(os.path.dirname(__file__))
-D:/
22、os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空
值。即os.path.split(path)的第二个元素
-print(os.path.basename(__file__))
-a.py
23、os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
-print(os.path.exists(__file__))
-True
-print(os.path.exists('aaa'))
-False
24、os.path.isabs(path) 如果path是绝对路径,返回True
-print(os.path.isabs(__file__))
-True
-print(os.path.isabs('aaa'))
-False
25、os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
-print(os.path.isfile(__file__))
-True
-print(os.path.isfile(r'D:\\'))
-False
26、os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False
-print(os.path.isdir(__file__))
-False
-print(os.path.isdir(r'D:\\'))
-True
27、os.path.join(path1, path2,path3,...) 将多个路径组合后返回
-print(os.path.join(r'c:\\a','b','c'))
-c:\\a\b\c
28、os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
-print(os.path.getatime(__file__))
-1610356026.3533397
29、os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
-print(os.path.getmtime(__file__))
-1610356050.6801133
30、os.path.getsize(path) 返回path的大小
-print(os.path.getsize(__file__))
-3216
在Linux和Mac平台上,该函数会原样返回path,在windows平台上会将路径中所有字符转换为小写,并将所有斜杠转换为饭斜杠。
>>> os.path.normcase('c:/windows\\system32\\')
'c:\\windows\\system32\\'
规范化路径,如..和/
>>> os.path.normpath('c://windows\\System32\\../Temp/')
'c:\\windows\\Temp'
>>> a='/Users/jieli/test1/\\\a1/\\\\aa.py/../..'
>>> print(os.path.normpath(a))
/Users/jieli/test1
os路径处理
#方式一:推荐使用
import os
#具体应用
import os,sys
possible_topdir = os.path.normpath(os.path.join(
os.path.abspath(__file__),
os.pardir, #上一级
os.pardir,
os.pardir
))
sys.path.insert(0,possible_topdir)
#方式二:不推荐使用
os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
三、sys
1、sys.argv 命令行参数List,第一个元素是程序本身路径
-print(sys.argv)
-['D:/a.py']
2、sys.exit(n) 退出程序,正常退出时exit(0)
-print(sys.exit('QQ浏览器'))
-QQ浏览器
3、sys.version 获取Python解释程序的版本信息
-print(sys.version )
-3.8.6 (tags/v3.8.6:db45529, Sep 23 2020, 15:52:53) [MSC v.1927 64 bit (AMD64)]
4、sys.maxsize 最大的Int值
-print(sys.maxsize)
-9223372036854775807
5、sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
-print(sys.path)
-略。。。
6、sys.platform 返回操作系统平台名称
-print(sys.platform)
-win32
[
[
[
[
print('[%-15s]' %'
print('[%-15s]' %'
print('[%-15s]' %'
print('[%-15s]' %'
print('%s%%' %(100))
print('[%%-%ds]' %50)
print(('[%%-%ds]' %50) %'
print(('[%%-%ds]' %50) %'
print(('[%%-%ds]' %50) %'
import sys
import time
def progress(percent,width=50):
if percent >= 1:
percent=1
show_str=('[%%-%ds]' %width) %(int(width*percent)*'#')
print('\r%s %d%%' %(show_str,int(100*percent)),file=sys.stdout,flush=True,end='')
data_size=1025
recv_size=0
while recv_size < data_size:
time.sleep(0.1)
recv_size+=1024
percent=recv_size/data_size
progress(percent,width=70)
打印进度条
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!