一、在python中模块分为自定义库和第三方库,其中自定义库是python自带的库,直接使用import调用即可,
而第三方库则可以自己写,也可以下载别人写的,第三方库需要下载到python的环境变量(注:print(sys.path)可以看到环境变量)中,才能使用import调用。(注:模块调用时,python先从本级目录中寻找相应的文件名,再在环境变量中寻找)
二、sys模块介绍:
import sys #调用sys模块
sys.argv #获得文件外部的传参
sys.argv[1] #表示外部的第一个传参
sys.path #搜索python的环境变量,将第三方模块放入查出的路径下,可以在文件中直接使用import调用。
sys.exit() #退出程序
sys.platform #返回当前系统平台名称,如:'win32'
三、os模块介绍
os模块是直接与系统交互的一个模块:
import os
1、调用系统命令:
os.system('dir') #调用shell命令,执行结果直接输出到屏幕,不能保存到变量中。
os.popen('dir').read() #调用shell命令,执行结果保存到变量中只能得到内存地址,使用read打印出来。
2、创建目录或文件
os.mkdir('new_dir') #在当前文件的目录下新建一个new_dir的目录。
os.makedirs(r'c:\\User\\a\\b') #创建连级目录。(注:在目录之间得用\\或在开头使用r)
3、查询系统
os.name #打印当前使用的平台,windows下打印nt,linux下打印posix。
os.linesep #返回当前平台的中止符,windows下为‘\t\n’,Linux下为‘/n’
os.getcwd() #返回当前工作绝对路径。
os.listdir('dir') #打印dir目录下的所有文件和子目录、隐藏文件等,以列表的方式
4、删除操作
os.remove('new_file') #只能删除文件。
os.rmdir('new_dir') #只能删除目录。
os.removedirs(r"c:\\a\\b\\c") #若目录为空则删除,若上一级继续为空,则继续删除。
5、切换路径
os.chdir("c:\\User") #切换路径.
os.curdir #返回当前相对路径(.)。
os.pardir #切换到父目录(..)。
6、判断文件目录是否存在
os.path.exists('new_file') #判断文件或目录是否存在。(存在返回True,不存在返回false)
os.path.isfile('new_file') #判断是否为文件。(是返回True,不是返回false)
os.path.isdir('new_dir') #判断是否为目录。(是返回True,不是返回false)
7、查看文件大小
os.path.getsize('new_file') #返回文件大小,如果是目录,则返回0。
8、打印绝对路径
os.path.abspath('test.py') #返回在当前路径下的test.py文件的绝对路径
os.path.dirname(os.path.abspath('test.py') #返回在当前路径下的test.py文件的所在目录的绝对路径
9、操作文件
os.rename('oldname','newname') #重命名文件或目录
os.stat('path/file') #获取文件/目录信息
四、time与datatime模块
time.time() #显示时间戳,时间戳单位是按秒计算,是从1970年linux诞生开始计算。
time.timezone #显示时间戳,获取所在地区与UTC时间差(中国地区比UTC早8小时,因为中国在东方,而太阳从东方升起)
time.altzone #显示时间戳,夏令时与所在地区的时间差
time.daylight #判断时区是否是夏令时
time.localtime() #获取当地时间,以元组的形式。
time.gmtime() #获取UTC的时间,元组的形式
time.asctime(time.localtime()) #将元组形式的时间格式转换成'Wed May 9 16:11:49 2018'
time.ctime #获取时间,返回'Wed May 9 16:16:40 2018'格式
时间格式之间的转换:
stract_time = time.localtime()
time.strftime("%Y-%m-%d %H:%M:%S",stract_time) #将元组形式的时间转换成自己设置的格式
time.strptime("2018-05-09 16:21:04","%Y-%m-%d %H:%M:%S") #将"2018-05-09 16:21:04"这种格式的时间转换成元组格式
datetime模块:
datetime.datetime.now() #获取本地当前时间,元组的形式。
datetime.datetime.now()+datetime.timedelta(3) #获取三天后的时间
datetime.datetime.now()+datetime.timedelta(-3) #获取三天前的时间
datetime.datetime.now()+datetime.timedelta(hours=-3) #获取三小时前的时间
五、random模块: (取随机值模块)
random.random() #取0-1之间的随机浮点数
random.randint(1,3) #随机取1,2,3之间的一位数
random.randrange(1,3) #随机取1,2之间的一位数(不包括3)
random.choice("字符串/元组/列表") #取随机值,可以传参包括字符串、元组、列表的形式。
random.sample("hello world",2) #随机取"hello world"中的两位数
random.uniform(1,3) #取1到3之间的浮点数
list=['1','2','3']
random.shuffle(list) #设置一个列表,随机打乱列表中的数据
六、shutil模块 (处理文件,文件夹,压缩包模块)
shutil.copyfile(file1,file2) #拷贝file1到file2
shutil.copymode(file1,file2) #仅拷贝权限,内容、组、用户均不变
shutil.copystat(file1,file2) #拷贝状态信息
shutil.copy(file1,file2) #拷贝文件和权限
shutil.copy2(file1,file2) #拷贝文件和状态信息
shutil.copytree(原目录、目标目录) #拷贝目录递归
shutil.rmtree(目标目录) #删除目录
shutil.move(原文件、目标文件) #剪切
shutil.make_archive(文件名,操作方式) #打包并压缩
操作方式有:
format:压缩包种类,“zip”, “tar”, “bztar”,“gztar”
root_dir: 要压缩的文件夹路径(默认当前目录)
七、zipfile和tarfile模块
压缩:
zip = zipfile.ZipFile('yasuobao.zip', 'w')
zip.write('a.txt')
zip.close()
解压缩:
zip = zipfile.ZipFile('yasuobao.zip', 'r')
zip.extractall()
zip.close()
压缩:
tar = tarfile.open('yasuobao.tar','w')
tar.add('C:\\yasuobao.zip', arcname='yasuobao.zip')
tar.close()
解压缩
tar = tarfile.open('yasuobao.tar','r')
tar.extractall() # 可设置解压地址
tar.close()