os模块
对目录的操作
os.getcwd() 获取当前工作目录,即当前Python脚本工作的目录路径
import osprint(os.getcwd())# C:\Users\Administrator\Desktop
os.chdir("dirname") 切换当前脚本工作路径
import osprint("切换前所在的工作路径为:",os.getcwd())
os.chdir(r"C:\Users\Administrator\Desktop\1111")
print("切换后所在的路径为:",os.getcwd())# 切换前所在的路径为: C:\Users\Administrator\Desktop
# 切换后所在的路径为: C:\Users\Administrator\Desktop\1111
os.curdir 返回当前目录: .
wifi模块怎么使用、os.pardir 返回当前目录的父目录: ..
import osprint(os.curdir) #.
print(os.pardir) #..
os.mkdir("dirname") 创建文件夹,只能创建一个文件夹,如果中间有未创建的则报异常
os.makedirs(r"dirname1\dirname2") 递归式创建文件夹,如果中间有未创建的则创建
import osos.mkdir("ABC")
os.makedirs(r"c:\Users\A\B\C")
os.rmdir("dirname") 删除单级空目录, 如果目录不为空,则无法删除
os.removedirs("dirname") 若文件夹为空,则删除,并递归到上一层,如果也是空文件夹,则删除,以此类推
import osos.rmdir(r"C:\Users\AA")
os.removedirs(r"C:\Users\A\B\C")
对文件的操作
Python模块技术文档?os.listdir("dirname") 列出指定目录下的所有文件,包括隐藏的文件,并以列表方式打印
import osprint(os.listdir(os.getcwd()))# ['demo.py', 'desktop.ini', 'test.py']
os.remove("dirname/filename") 删除一个文件
import osos.remove(r"C:\A.txt")
os.rename("oldname", "newname") 重命名文件/目录
import osos.rename(r"C:\A.txt", r"C:\a.txt")
os.stat("dirname/filename") 获取文件/目录信息
import osprint(os.stat(r"C:\A.txt"))"""
os.stat_result(st_mode=33206, st_ino=3659174697320594, st_dev=1651831854, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1525000068, st_mtime=1525000068, st_ctime=1525000068)
"""
对系统的操作
os.sep 输出操作系统的路径分隔符,win下是“\\” linux下是“/”
import osprint(os.sep) #"\\"
node内置模块?os.linesep 输出当前当前平台使用的行终止符,win下是“\r\n” linux下是“\n”
import osprint(os.linesep) #"\r\n"
os.pathsep 输出用于分隔文件路径的字符串,win下是“;” linux下是“:”
import osprint(os.pathsep) #;
os.environ 获取系统环境变量PATH
import osprint(os.environ)
os.name 获取当前使用平台名称 win下是“nt” linux下是“posix”
import osprint(os.name) #nt
os.system("dir") 直接执行系统命令
os.popen("dir") 执行一个系统命令,把执行结果存到文件句柄中
import osos.system("dir") f = os.popen("dir")
for i in f:print(i)
内置模块 标准库模块?os.getpid() 返回当前进程的id
对path的操作
os.path.abspath(path) 获取绝对路径(但这个路径不一定真实存在的路径)
import osprint(os.path.abspath(os.getcwd())) #C:\Users\Administrator\Desktopprint(os.path.abspath(r"C:\A\B\C")) #C:\A\B\C (系统中没有)
os.path.split(path) 将path路径分割成目录和文件名二元组返回,或把最后一个\\后面的文件或目录分割开来
import osprint(os.path.split(r"C:\A\B\C.txt")) #('C:\\A\\B', 'C.txt')
os.path.dirname(path) 返回path的目录,其实就是将os.path.split(path)的第一个元素
import osprint(os.path.dirname(r"C:\A\B\C.txt")) #C:\A\B
os.path.basename(path) 返回path最后的文件名,即os.path.split(path)的第二个元素
import osprint(os.path.basename(r"C:\A\B\C.txt")) #C.txt
python模块。os.path.exists(path) 判断path是否存在,存在则返回True,否则返回False
import osprint(os.path.exists(r"C:\Users\A")) #True
os.path.isabs(path) 判断path是否是绝对路径,是则返回True,否则返回False
import osprint(os.path.isabs(r"c:\Uers\A\B")) #带盘符的是绝对路径,Linux没有盘符,但它的绝对路径开头是"/"
print(os.path.isabs("Uers\A\B")) #相对路径# True
# False
os.path.isfile(path) 判断path是否是一个存在的文件,是则返回True,否则返回False
import osprint(os.path.isfile(r"C:\Users\A\a.txt")) #True
os.path.isdir(path) 判断path是否是一个存在的目录,是则返回True,否则返回False
import osprint(os.path.isdir(r"C:\Users\A\B")) #True
os.path.join(path1, path2, ...) 把所有的路径组合成绝对路径后返回,如果所给的有绝对路径,那最先给的绝对路径将被丢弃
import osprint(os.path.join(r"C:", r"D:\U\A", r"F:\Users\A\a.txt")) #F:\Users\A\a.txt
os.path.getatime(path) 返回path所指向的文件或目录的最后存取时间戳
re模块。os.path.getmtime(path) 返回path所指向的文件或目录的最后修改时间戳
import osprint(os.path.getatime(r"c:\Users\A\a.txt")) #1525004736.477822
print(os.path.getmtime(r"c:\Users\A\a.txt")) #1525006437.3451061
sys模块
sys.argv 实现从程序外部向程序内传递参数[在命令行模式中进行]
import sysprint("脚本名称:",sys.argv[0]) #获取脚本名
print(sys.argv)
print(sys.argv[0:])
print(sys.argv[1])for i in sys.argv:if i == sys.argv[0]:continueprint("参数为:",i)
运行结果
C:\Users\Administrator\Desktop>python test.py 1 2 3 命令行中进行
脚本名称: test.py
['test.py', '1', '2', '3']
['test.py', '1', '2', '3']
1
参数为: 1
参数为: 2
参数为: 3
python3内置模块大全。sys.exit(n) 会引发一个异常:SystemExit,如果这个异常没有被捕获,那么Python解析器将会退出程序,如果有捕获此异常的代码,那么下面的代码还是会执行。参数n如果是0则正常退出,如果是其他数则返回为异常
import systry :sys.exit(1)
except SystemExit as e:print("捕抓到异常“sys.exit(1)”")print(e) #>>>1for i in range(10):if i == 5:sys.exit(0) #直接退出程序print(i)
运行结果
捕抓到异常“sys.exit(1)”
0
1
2
3
4
sys.path 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,这样就可以在程序import时正确找到了,初始化时使用PYTHONPATH环境变量的值
import sysprint(sys.path)#运行结果
"""
['C:\\Users\\Administrator\\Desktop',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\python36.zip',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\lib',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32',
'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages']
"""
random模块
random.random() 用于生成一个0到1的随机数: 0 <= x < 1.0
import randomprint(random.random()) #>>>0.874867560608621
random.uniform(a, b) 用于生成一个a到b之间的随机浮点数: a <= x < b
print(random.uniform(1, 10)) #>>>8.943801372381465 随机的
模块?random.randint(a, b) 用于生成一个指定范围内的整数:a <= x <=b
print(random.randint(1, 5)) #>>>3
random.randrange(a, b, c) 从指定范围内,按步长c取值,再从这些值中,随机获取一个整数,步长c可以不写(不写默认步长为1)
print(random.randrange(0, 10, 2)) #>>> 6
random.choice() 从序列(字符串,列表,元组)中随机获取一个元素
print(random.choice("hello python")) #>>>e
print(random.choice(["AAA", "bbb", "ccc"])) #>>>bbb
random.sample() 多个字符中随机选取特定数量的字符
print(random.sample("hello python", 3)) #>>>["e", "t", "h"]
print(random.sample(["AAA", "bbb", "ccc"], 2)) #>>>["AAA", "ccc"]
random.shuffle() 打乱顺序
items = [1, 2, 3, 4, 5]
print(items)#>>>[1, 2, 3, 4, 5]
random.shuffle(items)
print(items)#>>>[3, 1, 2, 4, 5]
time模块、datetime模块、calendar模块
python如何添加模块?在Python中,通常有这几种方式来表示时间:
1.时间戳(timestamp)
通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量
2.格式化的时间字符串
UTC (coordinated Universal Time, 世界协调时)亦即格林威治天文时间,世界标准时间、在中国为UTC-8
DST(Daylight Saving Time)即夏令时
python内置模块有哪些。3.元组(struct_time)共九个元素,各个平台可能有所不同。
索引值(index) | 属性(Attribute) | 值(Values) |
0 | tm_year(年) | 2018 |
1 | tm_mon(月) | 1-12 |
2 | tm_mday(本月某日) | 1-31 |
3 | tm_hour(时) | 0-23 |
4 | tm_min(分) | 0-59 |
5 | tm_sec(秒) | 0-61(60或61是闰秒) |
6 | tm_wday(星期几) | 0-6(0表示星期一) |
7 | tm_yday(一年中的第几天) | 1-366 |
8 | tm_isdst(是否是夏令时) | 0/1/-1(-1代表夏令时) |
time.time() 返回当前时间的时间戳
import timeprint(time.time()) #1525145856.5473738
time.localtime([secs]) 将一个时间戳转换为当前时区(我国为UTC-8时区)的struct_time。 secs默认值是当前时间
import timeprint(time.localtime())
# time.struct_time(tm_year=2018, tm_mon=5, tm_mday=1, tm_hour=12, tm_min=6, tm_sec=6, tm_wday=1, tm_yday=121, tm_isdst=0)
time.gmtime([secs]) 功能和localtime()方法类似,gmtime()方法是将一个时间戳转换为UTC时区(0时区)的struct_time
import timeprint(time.gmtime())
# time.struct_time(tm_year=2018, tm_mon=5, tm_mday=1, tm_hour=4, tm_min=8, tm_sec=4, tm_wday=1, tm_yday=121, tm_isdst=0)
python自定义模块并调用。time.mktime(t) 将一个struct_time转换为时间戳
import timeprint(time.mktime(time.localtime())) #1525161559.0
time.sleep(secs) 线程推迟指定的时间运行。单位为秒
time.clock() 在不同系统上含义不同。在UNIX系统上,它返回的是进程时间,它是用秒表示的浮点数(时间戳)。而在Windows中,第一次调用,返回的是进程运行的实际时间。而第二次之后的调用时自第一次调用以后到现在的运行时间。
import timeprint(time.clock()) #6.842404708395528e-07time.sleep(5)print(time.clock()) #5.000132400531108
time.asctime([secs]) 把一个表示时间的元组或者struct_time转换成“Tue May 1 16:29:12 2018”。如果没有参数,将会则默认参数为time.localtime()作为参数传入
import timeprint(time.asctime()) #Tue May 1 16:29:12 2018
time.ctime([secs]) 把一个时间戳转换为time.asctime()的形式。默认值为当前时间
import timeprint(time.ctime()) #Tue May 1 16:33:42 2018
time.strftime(format[, t]) 把一个代表时间的元组或struct_time(如由time.localtime()和time.gmtime()返回) 转化为格式化的时间字符串,如果t未指定,将默认传入time.localtime(),如果元组中任何一个元素越界,将会抛出valueError异常
import timeprint(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())) #2018-05-01 17:04:33
python内置模块?format格式如下:
%a | 本地(local)简化星期名称 | Tue |
%A | 本地完整星期名称 | Tuesday |
%b | 本地简化月份名称 | Jun |
%B | 本地完整月份名称 | June |
%c | 本地相应的日期和时间 | Tue May 1 17:40:28 2018 |
%d | 一个月中的第几天 | 01-31 |
%H | 一天中的第几个小时 | 00-23(24小时制) |
%I | 一天中的第几个小时 | 00-12(12小时制) |
%j | 一年中的第几天 | 01-366 |
%m | 月份 | 01-12 |
%M | 分钟数 | 00-59 |
%p | 本地am或者pm的相应符 | AM/PM |
%S | 秒 | 01-61 |
%U | 一年中的第几个星期(星期天为一个星期的开始) 第一个星期天之前的所有天数都放在第0周 | 00-53 |
%w | 一个星期中的第几天 | 0-6(星期天为0) |
%W | 一年中的第几个星期(星期一为一个星期的开始) | 00-53 |
%x | 本地相应日期 | 05/01/18 |
%X | 本地相应时间 | 17:59:11 |
%y | 去掉世纪的年份 | 18 |
%Y | 完整的年份 | 2018 |
%z | 用+HHMM或者-HHMM表示距离格林威治的时区偏 移(H代表十进制的小时数,M代表十进制的分钟数) | +0800 |
%Z | 时区的名字(如果不存为空字符) | |
%% | %号本身 | % |
time.strptime(string[, format]) 把一个格式化时间字符串转化为struct_time,实际上它和strftime()是逆操作
无线模块怎么用?
datetime模块 <<< 点这里
calendar模块
此模块的函数都是日历相关的,用来处理年历和月历
hashlib模块
python引入自定义模块,hashlib称之为哈希算法或摘要算法、散列算法。它的作用是将一个任意长度的数据转换为一个长度固定的数据串,通常用16进制的字符串表示
import hashlibdef getHash(password):Hash = hashlib.md5()Hash.update(password.encode("utf-8"))print(Hash.hexdigest())getHash("123456")#>>>e10adc3949ba59abbe56e057f20f883e
getHash("123457")#>>>f1887d3f9e6ee7a32fe5e76f4ab80d63
通过上面的调用可以看出,哈希算法可以发现原始数据是否被人篡改过
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态