python常用模块
python运维开发常用模块(四)文件对比模块difflib

python运维开发常⽤模块(四)⽂件对⽐模块difflib1.difflib介绍difflib作为 Python的标准库模块,⽆需安装,作⽤是对⽐⽂本之间的差异,且⽀持输出可读性⽐较强的HTML⽂档,与Linux下的diff命令相似。
我们可以使⽤difflib对⽐代码、配置⽂件的差别,在版本控制⽅⾯是⾮常有⽤。
Python 2.3或更⾼版本默认⾃带difflib模块,⽆需额外安装。
⽰例1:两个字符串的差异对⽐[yhl@myhost part2]$ cat simple1.py#!/usr/bin/python#_*_coding:utf-8_*_#****************************************************************## ScriptName: simple1.py# Author: BenjaminYang# Create Date: 2019-05-13 11:08# Modify Author: BenjaminYang# Modify Date: 2019-05-13 11:08# Function:#***************************************************************#import difflibtext1 = """text1: #定义字符串1This module provides classes and functions for comparing sequences.including HTML and context and unified diffs.difflib document v7.4add string"""text1_lines=text1.splitlines() #以⾏进⾏分隔text2="""text2: #定义字符串2This module provides classes and functions for Comparing sequences.including HTML and context and unified diffs.difflib document v7.5"""text2_lines=text2.splitlines()d=difflib.Differ() #创建Differ()对象diff=pare(text1_lines,text2_lines) #采⽤compare⽅法对字符串进⾏⽐较print'\n'.join(list(diff))本⽰例采⽤Differ()类对两个字符串进⾏⽐较,另外difflib的 SequenceMatcher()类⽀持任意类型序列的⽐较,HtmlDiff()类⽀持将⽐较结果输出为HTML格式⽰例运⾏结果符号含义说明⽣成美观的对⽐HTML格式⽂档采⽤HtmlDiff()类将新⽂件命名为simple2.py,运⾏# python simple2.py>diff.html,再使⽤浏览器打开diff.html⽂件,结果如图⽰2-2所⽰,HTML⽂档包括了⾏号、差异标志、图例等信息,可读性增强了许多的make_file()⽅法就可以⽣成美观的HTML ⽂档,对⽰例1中代码按以下进⾏修改:⽰例2:对⽐Nginx配置⽂件差异当我们维护多个Nginx配置时,时常会对⽐不同版本配置⽂件的差异,使运维⼈员更加清晰地了解不同版本迭代后的更新项,实现的思路是读取两个需对⽐的配置⽂件,再以换⾏符作为分隔符,调⽤ difflib.HtmlDiff()⽣成HTML格式的差异⽂档。
python常用模块及第三方库功能简介

python常⽤模块及第三⽅库功能简介前⾔: Python吸引⼈的⼀个出众的优点就是它有众多的第三⽅库函数,可以更⾼效率的实现开发,经过整理与⽐对,整理了运维相关的常⽤模块,并将其功能简介,对其中重要的常⽤模块,接下来的博客会进⾏相应的详细介绍与功能使⽤介绍。
Python运维常⽤的20个库:1、psutil是⼀个跨平台库(https:///giampaolo/psutil)能够实现获取系统运⾏的进程和系统利⽤率(内存,CPU,磁盘,⽹络等),主要⽤于系统监控,分析和系统资源及进程的管理。
2、IPy(/haypo/python-ipy),辅助IP规划。
3、dnspython()Python实现的⼀个DNS⼯具包。
4、difflib:difflib作为Python的标准模块,⽆需安装,作⽤是对⽐⽂本之间的差异。
5、filecmp:系统⾃带,可以实现⽂件,⽬录,遍历⼦⽬录的差异,对⽐功能。
6、smtplib:发送电⼦邮件模块7、pycurl()是⼀个⽤C语⾔写的libcurl Python实现,功能强⼤,⽀持的协议有:FTP,HTTP,HTTPS,TELNET等,可以理解为Linux下curl命令功能的Python封装。
8、XlsxWriter:操作Excel⼯作表的⽂字,数字,公式,图表等。
9、rrdtool:⽤于跟踪对象的变化,⽣成这些变化的⾛⾛势图10、scapy(/projects/scapy/)是⼀个强⼤的交互式数据包处理程序,它能够对数据包进⾏伪造或解包,包括发送数据包,包嗅探,应答和反馈等功能。
11、Clam Antivirus免费开放源代码防毒软件,pyClamad,可以让Python模块直接使⽤ClamAV病毒扫描守护进程calmd。
12、pexpect:可以理解成Linux下expect的Python封装,通过pexpect我们可以实现对ssh,ftp,passwd,telnet等命令⾏进⾏⾃动交互,⽽⽆需⼈⼯⼲涉来达到⾃动化的⽬的。
Python常用模块os.path之文件及路径操作方法

Python常⽤模块os.path之⽂件及路径操作⽅法以下是 os.path 模块的⼏种常⽤⽅法:⽅法说明os.path.abspath(path)返回绝对路径os.path.basename(path)返回⽂件名monprefix(list)返回list(多个路径)中,所有path共有的最长的路径os.path.dirname(path)返回⽂件路径os.path.exists(path)如果路径 path 存在,返回 True;如果路径 path 不存在,返回 False。
os.path.lexists路径存在则返回True,路径损坏也返回Trueos.path.expanduser(path)把path中包含的"~"和"~user"转换成⽤户⽬录os.path.expandvars(path)根据环境变量的值替换path中包含的"$name"和"${name}"os.path.getatime(path)返回最近访问时间(浮点型秒数)os.path.getmtime(path)返回最近⽂件修改时间os.path.getctime(path)返回⽂件 path 创建时间os.path.getsize(path)返回⽂件⼤⼩,如果⽂件不存在就返回错误os.path.isabs(path)判断是否为绝对路径os.path.isfile(path)判断路径是否为⽂件os.path.isdir(path)判断路径是否为⽬录os.path.islink(path)判断路径是否为链接os.path.ismount(path)判断路径是否为挂载点os.path.join(path1[, path2[, ...]])把⽬录和⽂件名合成⼀个路径os.path.normcase(path)转换path的⼤⼩写和斜杠os.path.normpath(path)规范path字符串形式os.path.realpath(path)返回path的真实路径os.path.relpath(path[, start])从start开始计算相对路径os.path.samefile(path1, path2)判断⽬录或⽂件是否相同os.path.sameopenfile(fp1, fp2)判断fp1和fp2是否指向同⼀⽂件os.path.samestat(stat1, stat2)判断stat tuple stat1和stat2是否指向同⼀个⽂件os.path.split(path)把路径分割成 dirname 和 basename,返回⼀个元组os.path.splitdrive(path)⼀般⽤在 windows 下,返回驱动器名和路径组成的元组os.path.splitext(path)分割路径,返回路径名和⽂件扩展名的元组os.path.splitunc(path)把路径分割为加载点与⽂件os.path.walk(path, visit, arg)遍历path,进⼊每个⽬录都调⽤visit函数,visit函数必须有3个参数(arg, dirname, names),dirname表⽰当前⽬录的⽬录名,names代表当前⽬录下的所有⽂件名,args 则为walk的第三个参数os.path.supports_unicode_filenames设置是否⽀持unicode路径名os.path.abspath(path)输⼊相对路径,返回绝对路径Python 3.7.0 (v3.7.0:1bf9cc5093, Jun 27 2018, 04:59:51) [MSC v.1914 64 bit (AMD64)] on win32 Type "copyright", "credits" or "license()" for more information.>>> import os>>> print(os.path.abspath("."))C:\Users\28914\AppData\Local\Programs\Python\Python37os.path.basename(path)返回路径最后的⽂件或⽬录名,单纯的字符串处理,不会管该路径是否存在>>> import os>>> os.path.basename("E:\\abc\\efg.txt")'efg.txt'和os.path.basename相反,返回路径中去除了最后的⽂件或⽬录名后的部分,也是单纯的字符串处理>>> import os>>> os.path.dirname("E:\\abc\\efg.txt")'E:\\abc'os.path.split(path)单纯的字符串处理,分割路径,返回由其⽬录名和⽂件名组成的元组>>> import os>>> os.path.split("E:\\abc\\efg.txt")('E:\\abc', 'efg.txt')os.path.splitext(path)单纯的字符串处理,分割路径,返回由其⽂件名和扩展名组成的元组>>> import os>>> os.path.splitext("E:\\abc\\efg.txt")('E:\\abc\\efg', '.txt')os.path.join(dirpath,filename)将路径与⽂件名拼接,根据操作系统⾃动使⽤相应的路径分隔符,Windows⽤“”,Linux⽤“/”>>> import os>>> os.path.splitext("E:\\abc\\efg.txt")('E:\\abc\\efg', '.txt')os.path.exists(path)判断⽂件或⽬录是否存在,返回True或False>>> import os>>> os.path.exists("E:\\abc\\efg.txt")Falseos.path.isdir(path)判断路径是不是⽂件夹,路径不存在同样返回False>>> import os>>> os.path.isdir("E:\\abc\\efg.txt")Falseos.path.isfile(path)判断路径是不是⽂件,路径不存在同样返回False>>> import os>>> os.path.isfile("E:\\abc\\efg.txt")Falseos.path.getsize(path)获取⽂件⼤⼩,单位字节,⽂件不存在则报错,不能直接⽤于⽂件夹>>> import os>>> os.path.getsize("D:\\2019-11-07.txt")5973获取⽂件创建时间os.path.getmtime(path)获取⽂件最后修改时间os.path.getatime(path)获取⽂件最近访问时间总结以上所述是⼩编给⼤家介绍的Python常⽤模块os.path之⽂件及路径操作⽅法,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。
python中常用的内置模块汇总

python中常⽤的内置模块汇总内置模块(⼀)Python内置的模块有很多,我们也已经接触了不少相关模块,接下来咱们就来做⼀些汇总和介绍。
内置模块有很多 & 模块中的功能也⾮常多,我们是没有办法注意全局给⼤家讲解,在此我会整理出项⽬开发最常⽤的来进⾏讲解。
osimport os# 1. 获取当前脚本绝对路径"""abs_path = os.path.abspath(__file__)print(abs_path)# 2. 获取当前⽂件的上级⽬录base_path = os.path.dirname( os.path.dirname(路径) )print(base_path)# 3. 路径拼接p1 = os.path.join(base_path, 'xx')print(p1)p2 = os.path.join(base_path, 'xx', 'oo', 'a1.png')print(p2)# 4. 判断路径是否存在exists = os.path.exists(p1)print(exists)# 5. 创建⽂件夹os.makedirs(路径)path = os.path.join(base_path, 'xx', 'oo', 'uuuu')if not os.path.exists(path):os.makedirs(path)# 6. 是否是⽂件夹file_path = os.path.join(base_path, 'xx', 'oo', 'uuuu.png')is_dir = os.path.isdir(file_path)print(is_dir) # Falsefolder_path = os.path.join(base_path, 'xx', 'oo', 'uuuu')is_dir = os.path.isdir(folder_path)print(is_dir) # True# 7. 删除⽂件或⽂件夹os.remove("⽂件路径")path = os.path.join(base_path, 'xx')shutil.rmtree(path)listdir,查看⽬录下所有的⽂件walk,查看⽬录下所有的⽂件(含⼦孙⽂件)import os"""data = os.listdir("/Users/feimouren/PycharmProjects/luffyCourse/day14/commons")print(data)# ['convert.py', '__init__.py', 'page.py', '__pycache__', 'utils.py', 'tencent']# ⽆法查看⽂件夹中⼦⽂件夹中的⽂件要遍历⼀个⽂件夹下的所有⽂件,例如:遍历⽂件夹下的所有mp4⽂件 data获取到的是⼀个⽣成器,在编列⽣成器时,会获取到三个元素,1.⽂件夹路径,2.⽂件夹中的⽂件夹,3.⽂件在遍历时,如果⽂件夹中还有⽂件夹,那么会继续遍历这个⽂件夹同样会获取data = os.walk("/Users/wupeiqi/Documents/视频教程/飞Python/mp4")for path, folder_list, file_list in data:for file_name in file_list:file_abs_path = os.path.join(path, file_name)ext = file_abs_path.rsplit(".",1)[-1]if ext == "mp4":print(file_abs_path)shutilimport shutil# 1. 删除⽂件夹"""path = os.path.join(base_path, 'xx')shutil.rmtree(path)# 2. 拷贝⽂件夹shutil.copytree("/Users/wupeiqi/Desktop/图/csdn/","/Users/wupeiqi/PycharmProjects/CodeRepository/files")# 3.拷贝⽂件shutil.copy("/Users/wupeiqi/Desktop/图/csdn/************************","/Users/wupeiqi/PycharmProjects/CodeRepository/")shutil.copy("/Users/wupeiqi/Desktop/图/csdn/************************","/Users/wupeiqi/PycharmProjects/CodeRepository/x.png")# 4.⽂件或⽂件夹重命名shutil.move("/Users/wupeiqi/PycharmProjects/CodeRepository/x.png","/Users/wupeiqi/PycharmProjects/CodeRepository/xxxx.png")shutil.move("/Users/wupeiqi/PycharmProjects/CodeRepository/files","/Users/wupeiqi/PycharmProjects/CodeRepository/images")# 5. 压缩⽂件# base_name,压缩后的压缩包⽂件# format,压缩的格式,例如:"zip", "tar", "gztar", "bztar", or "xztar".# root_dir,要压缩的⽂件夹路径# shutil.make_archive(base_name=r'datafile',format='zip',root_dir=r'files')# 6. 解压⽂件# filename,要解压的压缩包⽂件# extract_dir,解压的路径# format,压缩⽂件格式# shutil.unpack_archive(filename=r'datafile.zip', extract_dir=r'xxxxxx/xo', format='zip')sysimport sys# 1. 获取解释器版本"""print(sys.version)print(sys.version_info)print(sys.version_info.major, sys.version_info.minor, sys.version_info.micro)# 2. 导⼊模块路径print(sys.path)randomimport random# 1. 获取范围内的随机整数v = random.randint(10, 20)print(v)# 2. 获取范围内的随机⼩数v = random.uniform(1, 10)# 3. 随机抽取⼀个元素v = random.choice([11, 22, 33, 44, 55])# 4. 随机抽取多个元素v = random.sample([11, 22, 33, 44, 55], 3)# 5. 打乱顺序data = [1, 2, 3, 4, 5, 6, 7, 8, 9]random.shuffle(data)print(data)hashlibimport hashlibhash_object = hashlib.md5()hash_object.update("武沛齐".encode('utf-8'))result = hash_object.hexdigest()print(result)import hashlibhash_object = hashlib.md5("iajfsdunjaksdjfasdfasdf".encode('utf-8'))hash_object.update("武沛齐".encode('utf-8'))result = hash_object.hexdigest()print(result)"""在加密时,为了防⽌密码被撞出来,通常会在第⼆⾏代码处加盐,即添加我们⾃⼰知道的随机的字符串,这样就可以防⽌别⼈破解密码"""configparserxmljsonjson模块,是python内部的⼀个模块,可以将python的数据格式转换为json格式的数据,也可以将json格式的数据转换为python的数据格式。
Python常用的数据分析库有哪些?Python数据分析模块介绍

Python常用的数据分析库有哪些?Python数据分析模块介绍。
Python本身的数据分析功能并不强,需要一些第三方的扩展库来增强它的能力。
们课程用到的库包括NumPy、Pandas、Matplotlib、Seaborn、NLTK等,接下来将针对相关库一个简单的介绍,方便后面章节的学习。
在Python中,常用的数据分析库主要有以下几种:1、NumPy库NumPyPython源的数值计算扩展工具,它了Python对多维数组的支持,能够支持高级的维度数组与矩阵运算。
此外,针对数组运算也了量的数学函数库。
NumPy部分Python科学计算的基础,它具有以下功能:(1)快速的多维数据对象ndarray。
(2)高性能科学计算和数据分析的基础包。
(3)多维数组(矩阵)具有矢量运算能力,快速、节省空间。
(4)矩阵运算。
无需循环,可完成类似Matlab中的矢量运算。
(5)线性代数、随机数生成以及傅里叶变换功能。
2、Pandas库Pandas一个基于NumPy的数据分析包,它为了解决数据分析任务而创建的。
Pandas中纳入了量库和标准的数据模型,了地操作型数据集所需要的函数和方法,使用户能快速便捷地处理数据。
Pandas作为强而的数据分析环境中的重要因素之一,具有以下特:(1)一个快速的DataFrame对象,具有默认和自定义的索引。
(2)用于在内存数据结构和不同文件格式中读取和写入数据,比如CSV和文本文件、Excel文件及SQL数据库。
(3)智能数据对齐和缺失数据的集成处理。
(4)基于标签的切片、花式索引和数据集的子集。
(5)可以删除或入来自数据结构的列。
(6)按数据分组进行聚合和转换。
(7)高性能的数据合并和连接。
(8)时间序列功能。
Python与Pandas在各种学术和商业领域中都有应用,包括金融、神经科学、经济学、统计学、广告、网络分析等。
3、Matplotlib库Matplotlib一个用在Python中绘制数组的2D图形库,虽然它起源于模仿MATLAB图形命令,但它独立于MATLAB,可以通过Pythonic和面向对象的使用,Python中最出色的绘图库。
Python常用模块——Colorama模块

Python常⽤模块——Colorama模块简介Python的Colorama模块,可以跨多终端,显⽰字体不同的颜⾊和背景,只需要导⼊colorama模块即可,不⽤再每次都像linux⼀样指定颜⾊。
1. 安装colorama模块pip install colorama2. 常⽤格式常数Fore是针对字体颜⾊,Back是针对字体背景颜⾊,Style是针对字体格式Fore: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.Back: BLACK, RED, GREEN, YELLOW, BLUE, MAGENTA, CYAN, WHITE, RESET.Style: DIM, NORMAL, BRIGHT, RESET_ALL注意,颜⾊RED,GREEN都需要⼤写,先指定是颜⾊和样式是针对字体还是字体背景,然后再添加颜⾊,颜⾊就是英⽂单词指定的颜⾊ from colorama import Fore, Back, Styleprint(Fore.RED + 'some red text')print(Back.GREEN + 'and with a green background')print(Style.DIM + 'and in dim text')print(Style.RESET_ALL)print('back to normal now') 输出结果# 记得要及时关闭colorma的作⽤范围# 如果不关闭的话,后⾯所有的输出都会是你指定的颜⾊print(Style.RESET_ALL)3.Init关键字参数:init()接受⼀些* * kwargs覆盖缺省⾏为,autoreset是⾃动恢复到默认颜⾊init(autoreset = False):init(wrap=True):The default behaviour is to convert if on Windows and output is to a tty (terminal).在windows系统终端输出颜⾊要使⽤init(wrap=True)#!/usr/bin/env python#encoding: utf-8from colorama import init, Fore, Back, Styleif __name__ == "__main__":init(autoreset=True) # 初始化,并且设置颜⾊设置⾃动恢复print(Fore.RED + 'some red text')print(Back.GREEN + 'and with a green background')print(Style.DIM + 'and in dim text')# 如果未设置autoreset=True,需要使⽤如下代码重置终端颜⾊为初始设置#print(Fore.RESET + Back.RESET + Style.RESET_ALL) autoreset=Trueprint('back to normal now')输出结果4.使⽤实例import sysimport osimport randomimport stringfrom colorama import Fore,Style,initimport platformdef print_arg(arg):"""打印参数:param arg::return:"""for ind, val in enumerate(arg):if ind == 0:print_color(Fore.YELLOW,r"------执⾏%s输⼊参数为--------"% val) else:print(val, end=",")def print_color(color, mes=""):"""获得系统平台windows终端需要设置init(wrap=True):param color::param mes::return:"""v_system = platform.system()if v_system != 'Windows':print(color+mes)else:# init(wrap=True)print(color+mes)# 获得系统参数v_arg = sys.argvinit(autoreset=True) # 初始化,并且设置颜⾊设置⾃动恢复# print_color(Fore.YELLOW+platform.system())if len(v_arg) != 4:# print(platform.system())print_arg(v_arg)print_color(Fore.RED,"---参数输⼊错误--")print_color(Fore.RED, "fileStrReplace.py ⽂件名旧字符串新字符串") else:f_name = v_arg[1].strip()old_str = v_arg[2].strip() # 旧字符new_str = v_arg[3].strip() # 替换的新字符f_new_name = "%s.new" % f_namereplace_count = 0 # 字符替换次数if not os.path.exists(f_name):print_color(Fore.YELLOW, "%s⽂件不存在" % f_name)f_new = open(f_new_name, 'w')f = open(f_name, "r",)for line in f: # 读取⼤⽂件if old_str in line:new_line = line.replace(old_str, new_str) # 字符替换replace_count += 1else:new_line = linef_new.write(new_line) # 内容写新⽂件f.close()f_new.close()if replace_count == 0:print_color(Fore.YELLOW,"字符%s不存在" % (old_str))else:bak_f = f_name + ''.join(random.sample(string.digits, 6))os.rename(f_name, bak_f) # 备份旧⽂件os.rename(f_new_name, f_name) # 把新⽂件名字改成原⽂件的名字,就把之前的覆盖掉了print_color(Fore.GREEN, "⽂件替换成功,[字符%s替换%s]共%s次,源⽂件备份[%s]" % (old_str,new_str, replace_count,bak_f)) # print_color(Style.RESET_ALL) # 还原默认颜⾊。
python常用函数及模块

python常⽤函数及模块原⽂来源于博客园和CSDN1.计算函数abs()--取绝对值max()--取序列最⼤值,包括列表、元组min()--取序列最⼩值len()--取长度divmod(a,b)---取a//b除数整数以及余数,成为⼀个元组pow(x,y)--取x的Y次幂pow(x,y,z)先x的Y次幂,再对Z取余round()--修改精度,如果没有,默认取0位range()快速⽣成⼀个列表2.其他函数callable()--返回是否可调⽤返回true或falseisinstance(a,type)---判断前⾯的是否是后⾯的这种类型,返回true或falsecmp(a,b)---判断ab是否相等,相等返回0,A<B返回-1,A>B返回1range()--快速⽣成⼀个列表,类型为listxrange()---快速⽣成⼀个列表,类型为xrange3.类型转换函数type()int()long()float()complex()--转换成负数hex()--转换成⼗六进制oct()--转换成⼋进制chr()--参数0-252,返回当前的ASCII码ord()--参数ASCII码,返回对应的⼗进制整数4.string函数str.capitalize()--对字符串⾸字母⼤写str.replace(a.b)---对字符串a改为bstr.split()---对字符串进⾏分割,第⼀个参数是分隔符,后⾯参数是分割⼏次。
string函数导⼊使⽤5.序列函数filter()--筛选返回为true返回成序列lambda--定义函数zip()---对多个列表进⾏压缩组合成⼀个新列表,但是如果多个列表的元素个数不同,组合的结果按最少元素的进⾏组合map--对多个列表进⾏压缩组合成⼀个新列表,但是如果多个列表的元素个数不同,结果是将所有的元素取出来,缺少的以None代替。
如果是None,直接组合,如果是函数,可以按函数进⾏组合reduce()--对每个元素先前两个执⾏函数,然后结果和后⼀个元素进⾏函数操作,如阶乘,阶加----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------urlencode与urldecode当url中包含中⽂或者参数包含中⽂,需要对中⽂或者特殊字符(/、&)做编码转换。
在python语言中,常用的内建模块以及其使用方法

Python有许多内建模块,它们提供了各种功能,以帮助您在编程时更有效地完成任务。
以下是一些常用的内建模块以及它们的使用方法:1. `math`:提供了一组数学函数和常数。
例如,`(x)` 返回 x 的平方根,`` 是圆周率π。
2. `os`:提供了与操作系统交互的功能。
例如,`(path)` 返回指定路径下的文件和目录名列表。
3. `sys`:提供对 Python 解释器使用或维护的一些变量的访问。
例如,`` 是命令行参数列表。
4. `datetime`:用于处理日期和时间。
例如,`()` 返回当前的日期和时间。
5. `json`:用于处理 JSON 数据。
例如,`(s)` 将 JSON 字符串 s 解析为Python 对象,`(obj)` 将 Python 对象 obj 编码为 JSON 字符串。
6. `random`:生成随机数。
例如,`(a, b)` 返回一个在 a 和 b 之间(包括 a 和 b)的随机整数。
7. `re`:用于正则表达式匹配。
例如,`(pattern, string)` 尝试从string 的开始位置匹配 pattern。
8. `collections`:提供了一些额外的数据类型,如Counter、defaultdict、OrderedDict等。
9. `itertools`:提供了用于高效循环的函数。
10. `functools`:提供了高阶函数和其他功能。
这只是 Python 内建模块的一小部分,还有许多其他模块(如 `zipfile`、`subprocess`、`shutil`、`argparse` 等)可以用于完成各种任务。
使用这些模块可以大大提高 Python 代码的效率和可读性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
python1.********************2.PY核心模块方法3.********************4.os模块:5. os.remove() 删除文件6. os.unlink() 删除文件7. os.rename() 重命名文件8. os.listdir() 列出指定目录下所有文件9. os.chdir() 改变当前工作目录10. os.getcwd() 获取当前文件路径11. os.mkdir() 新建目录12. os.rmdir() 删除空目录(删除非空目录, 使用shutil.rmtree())13. os.makedirs() 创建多级目录14. os.removedirs() 删除多级目录15. os.stat(file) 获取文件属性16. os.chmod(file) 修改文件权限17. os.utime(file) 修改文件时间戳18. (file) 获取操作系统标识19. os.system() 执行操作系统命令20. os.execvp() 启动一个新进程21. os.fork() 获取父进程ID,在子进程返回中返回022. os.execvp() 执行外部程序脚本(Uinx)23. os.spawn() 执行外部程序脚本(Windows)24. os.access(path, mode) 判断文件权限(详细参考cnblogs)25. os.wait() 暂时未知26.os.path模块:27. os.path.split(filename) 将文件路径和文件名分割(会将最后一个目录作为文件名而分离)28. os.path.splitext(filename) 将文件路径和文件扩展名分割成一个元组29. os.path.dirname(filename) 返回文件路径的目录部分30. os.path.basename(filename) 返回文件路径的文件名部分31. os.path.join(dirname,basename) 将文件路径和文件名凑成完整文件路径32. os.path.abspath(name) 获得绝对路径33. os.path.splitunc(path) 把路径分割为挂载点和文件名34. os.path.normpath(path) 规范path字符串形式35. os.path.exists() 判断文件或目录是否存在36. os.path.isabs() 如果path是绝对路径,返回True37. os.path.realpath(path) #返回path的真实路径38. os.path.relpath(path[, start]) #从start开始计算相对路径39. os.path.normcase(path) #转换path的大小写和斜杠40. os.path.isdir() 判断name是不是一个目录,name不是目录就返回false41. os.path.isfile() 判断name是不是一个文件,不存在返回false42. os.path.islink() 判断文件是否连接文件,返回boolean43. os.path.ismount() 指定路径是否存在且为一个挂载点,返回boolean44. os.path.samefile() 是否相同路径的文件,返回boolean45. os.path.getatime() 返回最近访问时间浮点型46. os.path.getmtime() 返回上一次修改时间浮点型47. os.path.getctime() 返回文件创建时间浮点型48. os.path.getsize() 返回文件大小字节单位49. monprefix(list) #返回list(多个路径)中,所有path共有的最长的路径50. os.path.lexists #路径存在则返回True,路径损坏也返回True51. os.path.expanduser(path) #把path中包含的"~"和"~user"转换成用户目录52. os.path.expandvars(path) #根据环境变量的值替换path中包含的”$name”和”${name}”53. os.path.sameopenfile(fp1, fp2) #判断fp1和fp2是否指向同一文件54. os.path.samestat(stat1, stat2) #判断stat tuple stat1和stat2是否指向同一个文件55. os.path.splitdrive(path) #一般用在windows下,返回驱动器名和路径组成的元组56. os.path.walk(path, visit, arg) #遍历path,给每个path执行一个函数详细见手册57. os.path.supports_unicode_filenames() 设置是否支持unicode路径名58.stat模块:59.描述os.stat()返回的文件属性列表中各值的意义60. fileStats = os.stat(path) 获取到的文件属性列表61. fileStats[stat.ST_MODE] 获取文件的模式62. fileStats[stat.ST_SIZE] 文件大小63. fileStats[stat.ST_MTIME] 文件最后修改时间64. fileStats[stat.ST_ATIME] 文件最后访问时间65. fileStats[stat.ST_CTIME] 文件创建时间66. stat.S_ISDIR(fileStats[stat.ST_MODE]) 是否目录67. stat.S_ISREG(fileStats[stat.ST_MODE]) 是否一般文件68. stat.S_ISLNK(fileStats[stat.ST_MODE]) 是否连接文件69. stat.S_ISSOCK(fileStats[stat.ST_MODE]) 是否COCK文件70. stat.S_ISFIFO(fileStats[stat.ST_MODE]) 是否命名管道71. stat.S_ISBLK(fileStats[stat.ST_MODE]) 是否块设备72. stat.S_ISCHR(fileStats[stat.ST_MODE]) 是否字符设置73.sys模块:74. sys.argv 命令行参数List,第一个元素是程序本身路径75. sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值76. sys.modules.keys() 返回所有已经导入的模块列表77. sys.modules 返回系统导入的模块字段,key是模块名,value是模块78. sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息79. sys.exit(n) 退出程序,正常退出时exit(0)80. sys.hexversion 获取Python解释程序的版本值,16进制格式如:0x020403F081. sys.version 获取Python解释程序的版本信息82. sys.platform 返回操作系统平台名称83. sys.stdout 标准输出84. sys.stdout.write('aaa') 标准输出内容85. sys.stdout.writelines() 无换行输出86. sys.stdin 标准输入87. sys.stdin.read() 输入一行88. sys.stderr 错误输出89. sys.exc_clear() 用来清除当前线程所出现的当前的或最近的错误信息90. sys.exec_prefix 返回平台独立的python文件安装的位置91. sys.byteorder 本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'92. sys.copyright 记录python版权相关的东西93. sys.api_version 解释器的C的API版本94. sys.version_info 'final'表示最终,也有'candidate'表示候选,表示版本级别,是否有后继的发行95. sys.getdefaultencoding() 返回当前你所用的默认的字符编码格式96. sys.getfilesystemencoding() 返回将Unicode文件名转换成系统文件名的编码的名字97. sys.builtin_module_names Python解释器导入的内建模块列表98. sys.executable Python解释程序路径99. sys.getwindowsversion() 获取Windows的版本100. sys.stdin.readline() 从标准输入读一行,sys.stdout.write("a") 屏幕输出a101. sys.setdefaultencoding(name) 用来设置当前默认的字符编码(详细使用参考文档) 102. sys.displayhook(value) 如果value非空,这个函数会把他输出到sys.stdout(详细使用参考文档)103.104.datetime,date,time模块:105. datetime.date.today() 本地日期对象,(用str函数可得到它的字面表示(2014-03-24))106. datetime.date.isoformat(obj) 当前[年-月-日]字符串表示(2014-03-24)107. datetime.date.fromtimestamp() 返回一个日期对象,参数是时间戳,返回 [年-月-日]108. datetime.date.weekday(obj) 返回一个日期对象的星期数,周一是0109. datetime.date.isoweekday(obj) 返回一个日期对象的星期数,周一是1110. datetime.date.isocalendar(obj) 把日期对象返回一个带有年月日的元组111. datetime对象:112. datetime.datetime.today() 返回一个包含本地时间(含微秒数)的datetime对象 2014-03-24 23:31:50.419000113. datetime.datetime.now([tz]) 返回指定时区的datetime对象 2014-03-24 23:31:50.419000114. datetime.datetime.utcnow() 返回一个零时区的datetime对象115. datetime.fromtimestamp(timestamp[,tz]) 按时间戳返回一个datetime对象,可指定时区,可用于strftime转换为日期表示116. datetime.utcfromtimestamp(timestamp) 按时间戳返回一个UTC-datetime对象117. datetime.datetime.strptime('2014-03-16 12:21:21',"%Y-%m-%d %H:%M:%S") 将字符串转为datetime对象118. datetime.datetime.strftime(datetime.datetime.now(), '%Y%m%d %H%M%S') 将datetime对象转换为str表示形式119. datetime.date.today().timetuple() 转换为时间戳datetime元组对象,可用于转换时间戳120. datetime.datetime.now().timetuple()121. time.mktime(timetupleobj) 将datetime元组对象转为时间戳122. time.time() 当前时间戳123. time.localtime124. time.gmtime125.126.127.hashlib,md5模块:128. hashlib.md5('md5_str').hexdigest() 对指定字符串md5加密129. md5.md5('md5_str').hexdigest() 对指定字符串md5加密130.131.random模块:132. random.random() 产生0-1的随机浮点数133. random.uniform(a, b) 产生指定范围内的随机浮点数134. random.randint(a, b) 产生指定范围内的随机整数135. random.randrange([start], stop[, step]) 从一个指定步长的集合中产生随机数136. random.choice(sequence) 从序列中产生一个随机数137. random.shuffle(x[, random]) 将一个列表中的元素打乱138. random.sample(sequence, k) 从序列中随机获取指定长度的片断139.140.types模块:141.保存了所有数据类型名称。