python-27-其他常用模块
Posted 广深-小龙 --扬帆起航!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-27-其他常用模块相关的知识,希望对你有一定的参考价值。
前言
本编将学习的是os模块、sys模块、随机数模块。
分别是:os、sys、random
一、os模块
Python当中的os模块提供了丰富的方法来,对操作系统进行目录和文件处理。
import os print(os.getcwd()) # 获取当前目录 os.chdir(\'..\') # chdir()相当于 cd print(os.curdir) # 当前目前,相当于 . os.mkdir(\'dirname\') # 创建单个目录 os.makedirs(\'dirname1/dirname2\') # 创建多层目录 os.rmdir(\'dirname\') # 删除单个空目录,若目录不为空则无法删除会报错 os.removedirs(\'dirname1\') # 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推 os.listdir(\'dirname\') # 列出指定目录下的所有文件,并以列表方式打印 os.remove(\'path\') # 删除一个文件 os.rename("oldname", "newname") # 重命名文件/目录 os.stat(\'path/filename\') # 获取文件/目录信息 os.system("bash command") # 运行dos/shell命令,直接显示 os.popen("bash command").read() # 运行dos/shell命令,获取执行结果 os.path.abspath(path) # 返回path规范化的绝对路径 os.path.split(path) # 将path分割成目录和文件名二元组返回 os.path.dirname(path) # 返回path的目录。其实就是os.path.split(path)的第一个元素 os.path.realpath(__file__) # 获取当前的目录 os.path.basename(path) # 返回path最后的文件名。如何path以/或\\结尾,那么就会返回空值。即os.path.split(path)的第二个元素 os.path.exists(path) # 如果path存在,返回True;如果path不存在,返回False os.path.isabs(path) # 如果path是绝对路径,返回True os.path.isfile(path) # 如果path是一个存在的文件,返回True。否则返回False os.path.isdir(path) # 如果path是一个存在的目录,则返回True。否则返回False os.path.join(\'dirname1\', \'dirname2\') # 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 os.path.getatime(path) # 返回path所指向的文件或者目录的最后访问时间 os.path.getmtime(path) # 返回path所指向的文件或者目录的最后修改时间 os.path.getsize(path) # 返回path的大小 print(os.sep) # 输出操作系统特定的路径分隔符,win下为"\\\\",Linux下为"/" print(os.linesep) # 输出当前平台使用的行终止符,win下为"\\r\\n",Linux下为"\\n" print(os.pathsep) # 输出用于分割文件路径的字符串 win下为;,Linux下为: print(os.name) # 输出字符串指示当前使用平台。win->\'nt\'; Linux->\'posix\'
补充:删除文件夹
import shutil shutil.rmtree("path")
二、sys模块
1.sys模块是与python解释器交互的一个接口:
import sys print(sys.path) # python模块目录路径(python环境变量) print(sys.path.clear()) # 清空python模块环境变量 print(sys.version) # 获取当前 python 版本信息 print(sys.platform) # 获取系统版本(不准确的) print(sys.argv) # 命令行参数list print(sys.exit(0)) # 参数0正常退出,1异常退出
2.sys.argv 命令行参数用法:
在dos命令或shell命令下执行,python3 py文件path 参数1 参数2....(编辑器里运行必定报错)
import sys res_avg = sys.argv name = res_avg[1] pwd = res_avg[2] print(type(name), name, type(pwd), pwd) if name == \'gsxl\' and pwd == \'123456\': print(\'登录成功!\') else:print(\'账户或密码错误!!!\')
G:\\python_study\\study\\study_python\\python_Basics>python day18.py Traceback (most recent call last): File "day18.py", line 81, in <module> name = res_arvg[1] IndexError: list index out of range G:\\python_study\\study\\study_python\\python_Basics>python day18.py gsxl 123456 <class \'str\'> gsxl <class \'str\'> 123456 登录成功!
可以看到:python day18.py gsxl 123456,传入了参数1 参数2,如果没传是没有这个变量那么运行脚本肯定是会报错。
三、random随机数模块
1.随机数模块方法:
\'\'\' 一、random:随机数模块 \'\'\' import random print(random.random()) # 大于0且小于1之间的小数 print(random.uniform(1, 3)) # 大于1小于3的小数 print(random.randint(1, 5)) # 大于等于1且小于等于5之间的整数 print(random.randrange(1, 10, 2)) # 大于等于1且小于10之间的奇数 print(random.randrange(2, 11, 2)) # 大于等于2且小于等于10之间的偶数 print(random.choice([1, \'23\', [4, 5]])) # 1或者23或者[4,5]) print(random.sample([1, \'23\', [4, 5]], 2)) # 列表元素任意2个组合,返回的个数为函数的第二个参数
2.随机生成6位验证码:
import random def v_code(): code = \'\' for i in range(6): num = random.randint(0, 9) alf = chr(random.randint(65, 90)) add = random.choice([num, alf]) code = "".join([code, str(add)]) return code print(v_code())
欢迎来大家QQ交流群一起学习:482713805
以上是关于python-27-其他常用模块的主要内容,如果未能解决你的问题,请参考以下文章