第四章、常用模块

(一)、os模块

os.getcwd()#python解释器路径
os.listdir(‘E:\Code‘)#查看指定目录下的文件
os.removedirs()#删除多个目录
os.remove()#删除文件
#判断是否为文件
os.path.isfile()
#判断是否为目录
os.path.isdir()
#判断是否为绝对路径
print(os.path.isabs(‘E:\Code‘))
#判断是否文件或目录存在
print(os.path.exists(‘E:\Code‘))
#分割文件名和路径
print(os.path.split(‘E:\Code\PyCharm\Luf\Chapter04\my_os.py‘))
#分割文件后缀
print(os.path.splitext(‘E:\Code\PyCharm\Luf\Chapter04\my_os.py‘))
#分割文件或目录所在磁盘
print(os.path.splitdrive(‘E:\Code\PyCharm\Luf\Chapter04\my_os.py‘))
#获取文件所在目录
print(os.path.dirname(‘E:\Code\PyCharm\Luf\Chapter04\my_os.py‘))
#获取绝对路径名
print(os.path.abspath(‘E:\Code\PyCharm\Luf\Chapter04\my_os.py‘))
#获取文件名
print(os.path.basename(‘E:\Code\PyCharm\Luf\Chapter04\my_os.py‘))
#运行shell命令,返回0为执行正确,非0表示执行错误
os.system()
#读取环境变量为HOME的值
os.getenv(‘HOME‘)
#获取操作系统所有环境变量
os.environ
#设置系统环境变量,有则返回,无则创建,只在当前terminal下有效,即当前程序
os.environ.setdefault(‘HOME‘,‘/home/ya‘)
#当前平台使用的行终止符
os.linesep
#获取当前系统平台
os.name
#重命名
os.rename(‘old‘,‘new‘)
#创建多级目录
os.makedirs(‘C:\python\os\mkdirs‘)
#创建单个目录
os.mkdir()
#获取文件属性
os.stat(‘E:\Code\PyCharm\Luf\Chapter04\my_os.py‘)
#修改文件权限与时间戳
os.chmod(‘E:\Code\PyCharm\Luf\Chapter04\my_os.py‘,777)
#获取文件大小
os.path.getsize()
#结合目录名与文件名
os.path.join()
#改变工作目录
os.chdir()
#获取当前终端大小
os.get_terminal_size()
#终止当前进程,py3已无改方法
os.exit()
#杀死进程
os.kill()

(二)、sys模块

#接收参数,传参数给脚本sys.argv()#退出程序,sys.exit(0)#python版本sys.version#int最大值sys.maxsize()#python模块搜索路径sys.path()#当前系统版本sys.pltform()#标准输出sys.stdout()#标准输入sys.stdin.readline()[:-1]#获取递归最大层数sys.getrecursionlimit()#设置递归最大层数sys.setrecursionlimit(120)#获取解释器默认编码sys.getdefaultencoding()#获取内存数据存到文件里的默认编码sys.getfilesystemencoding()
																											

(三)、time模块

local_time=time.localtime()#获取当前本地时间(北京时间)# local_time.tm_year 年# local_time.tm_mon 月# local_time.tm_mday 日# local_time.tm_hour 时# local_time.tm_min 分# local_time.tm_sec 秒# local_time.tm_wday weekday# local_time.tm_yday 一年中的第几天# local_time.tm_isdst 是否为夏时令

time.time()#获取当前时间戳time.gmtime()#类似localtime,将是一个时间戳转换为UTC时区time.mktime(t)#将一个struct_time转换为时间戳time.sleep()#将线程推迟指定时间,单位为秒time.asctime()#把一个表示时间的元组或者struct_time表示为‘Sun Oct 1 12:04:49 2017‘格式,没有参数则将time.localtime()传入time.ctime()#把一个时间戳转换为time.asctime()形式,如果参数未给或为None时,将time.time()作为参数,先当于time.asctime(time.localtime(sec))time.strftime()#把一个表示时间的元组或者struct_time转化为格式化的时间字符串,未指定则将time.localtime()传入time.strptime()#把一个格式化时间字符串转换为struct_time,即将strftime()逆操作
																				

(四)、datetime模块

import datetime"""datetime.date#表示日期类,属性有year、month、daydatetime.time#表示时间类,常用属性有hour、minute、second、microseconddatetime.datetime#表示日期时间datetime.timedelta#表示时间间隔datetime.tzinfo#与时区有关信息

d=datetime.datetime.now()#返回当前的datetime日期类型d.timestamp()d.today()d.yeard.timetuple()

datetime.date.fromtimestamp()#把一个时间戳转换为datetime日期类型"""#时间替换d=datetime.datetime.now()print(d)d=d.replace(year=2017)print(d)
																		

(五)、random模块

import randomrandom.randint(1,100)#取x,y之间的随机数,包含起始值random.randrange(1,100)#取x,y之间的随机数,不包含起始值random.random()#随机浮点数random.choice(‘aaabbccc‘)#从字符串中返回随机字符random.sample(‘aaaa‘,3)#从字符串中返回指定数量的字符random.shuffle("123456abc")#打乱字符串#生成随机字符串import string‘‘.join(random.sample(string.ascii_lowercase+string.digits+string.punctuation,16))
																									

(六)、shutil模块

import shutil#将文件对象内容拷贝到另一个文件对象中f1=open(‘my_os.py‘,‘rb‘)f2=open(‘my_os_new.py‘,‘wb‘)shutil.copyfileobj(f1,f2)f1.close()f2.close()

#拷贝文件shutil.copyfile()#仅拷贝权限,内容和组都不变shutil.copymode()#拷贝状态信息,包括mode bits,atime,mtime,flagsshutil.copystat()#拷贝文件和权限shutil.copy()#拷贝文件和状态信息shutil.copy2()#拷贝文件目录shutil.copytree()#拷贝指定类型文件# shutil.ignore_patterns(‘*.pyc‘)忽略的文件,有则报错shutil.copytree(‘s‘,‘d‘,shutil.ignore_patterns(‘*.pyc‘))#删除目录,ignore_errors忽略错误shutil.rmtree(‘path‘,ignore_errors=True)#递归式移动,重命名,剪切shutil.move()

#压缩打包shutil.make_archive()#base_name:压缩包的文件名,也可以是路径,只是文件名则保存到当前目录,否则保存到指定路径#format:压缩包类型,zip,tar,bztar,gztar#root_dir:要压缩的文件夹路径,默认为当前目录#owner:用户,默认当前用户#group:组,默认为当前组#logger:用于记录日志,通常为logging.Logger对象#解压shutil.unpack_archive()#filename:解压的文件名#extract_dir:解压到指定路径#format:压缩包格式

import zipfilez=zipfile.ZipFile("test.zip",‘w‘)z.write(‘test.py‘)z.write(‘my_shutil.py‘)z.close()
																																		

(七)、序列化模块

把内存中的数据通过网络共享给别人

把内存中的数据存入硬盘

1、json只能序列化str,int,tuple,list,dict。跨平台,跨语言

定义了不同语言之间的交互规则,数据简洁

import json#序列化,可dump多次,但数据会损坏json.dump(obj=None,fp=‘fileobj‘)#变成字符串并存入到文件对象json.dumps(obj=None)#将对象变成字符串赋值给变量,即存入内存。可写入硬盘或可通过网络发送。可以跨平台跨语言共享数据#反序列化,只能load一次json.load()#从文件对象中加载数据json.loads()#将字符串转换成相应类型
													

2、pickle支持python里所有数据类型,只能在python中使用

import pickle

pickle.dump(data,file_obj)#二进制模式写入文件pickle.dumps()#转换成二进制数据

pickle.load()#从pkl文件中加载成对象pickle.loads()
										

json只能序列化

原文地址:https://www.cnblogs.com/yaya625202/p/8672498.html

时间: 2024-10-17 18:03:16

第四章、常用模块的相关文章

第九章 常用模块

第九章 常用模块 1.模块介绍 什么是模块: 模块就是我们通常说的py文件(因此写python程序的时候不要命名为模块的名称),模块是写好了但不直接使用的功能 为什么这些模块中提供的方法 不能像print这些内置函数一样直接使用呢? 是因为如果所有的模块都是执行python程序直接导入了,会非常占用内存空间的 常见导入模块的方法 1.import time 2.from time import sleep 模块的分类: 内置模块 扩展模块 https://pypi.org 自定义模块 2.扩展数

第七章 常用模块&面向对象程序设计

一.xml模块 <?xml version="1.0"?> -<data> -<country name="Liechtenstein" a="1"> <rank updated="yes">2</rank> <year updated="yes" version="1.0">2010</year> &l

第四章 语言模块

1.字符串的扩展与修复 语言脚本都对字符串特别关注,有关的方法特别多,这些方法有三大类: 第一类:与标签无关的实现:charAt,charCodeAt,concat,lastIndexOf,localeCompare,match,replace,slice,split,substr,substring,toLocaleLowerCase,toLocalUpperCase,toLowerCase,toUpperCase以及从Object继承来的方法.如,toString,valueOf 第二类:与

第九章 常用模块(续)

1.序列化模块 1.1 什么叫序列化 例:有一个班级信息字典{'10010000':{'name':'zhangsan', 'age':22, 'class':'python21'},...},在程序结束后需要保存,而在python中只有字符串能保存到文件中.再次使用字典的时候,可以使用eval转化,但是非常不安全,所以引入了序列化 序列化就是 数据类型转化成字符串的过程 -- 数据类型 --> 字符串的过程 字符串化也叫做序列化 1.2 为什么要用序列化呢?(固态存储.网络传输) 数据从内存到

四,常用模块

1. 模块:本质就是以.py结尾 的python文件 包:用来从逻辑上组织模块的,本质就是一个目录(必须带有__init__.py文件),导入包,就是执行该包下__init__.py文件中的代码 1.1 Json&pickle 数据序列化,Json 用于交互,只能用于简单转换(字符串或者字典等),xml也可以用于交互. info = {"name":"Alex" , "age": 22} f = open("file.text&

进击的Python【第五章】:Python的高级应用(二)常用模块

Python的高级应用(二)常用模块学习 本章学习要点: Python模块的定义 time &datetime模块 random模块 os模块 sys模块 shutil模块 ConfigParser模块 shelve模块 xml处理 re正则表达式 一.Python模块的定义 有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt这个函数,必须用语句"#include<math.h>"引入math.h这个头文件,否则是无法正常进行调用的.那么在Python中,如

第六章:Python基础の反射与常用模块解密

本課主題 反射 Mapping 介绍和操作实战 模块介绍和操作实战 random 模块 time 和 datetime 模块 logging 模块 sys 模块 os 模块 hashlib 模块 re 模块 本周作业 反射 Mapping 介绍和操作实战 反射是利用字符串的形式去对象 (模块) 中操作 (寻找/检查) 成员 案例例子 假设创建了一个common.py 程序里而有3个功能,比如网站里的登录页面.主页页面还有登出页面都是不同的页面,要显示的内容都不一样. def login(): p

perl 第十四章 Perl5的包和模块

第十四章 Perl5的包和模块 by flamephoenix 一.require函数  1.require函数和子程序库  2.用require指定Perl版本二.包  1.包的定义  2.在包间切换  3.main包  4.包的引用  5.指定无当前包  6.包和子程序  7.用包定义私有数据  8.包和系统变量  9.访问符号表三.模块  1.创建模块  2.导入模块  3.预定义模块 一.require函数    用require函数可以把程序分割成多个文件并创建函数库.例如,在myfi

Head First Python 第二章 函数模块&amp;第三章 文件与异常&amp;第四章 持久存储&amp;第五章 处理数据

第三章 1.共享模块 模块和发布工具箱全世界共享模块 编写函数,以.py为文件后缀名,第三方库都在PyPI *注释代码:三引号(单双都可以) 发布过程P40 使用发布工具,函数模块变成了一个“发布”,可以使用import导入其他程序 2.如果函数模块功能不满意 添加参数以供api选择比添加函数工作量小! 首先考虑BIF内置函数 ----------------------------------------------------------- 第四章 1.文件 open()语句,readlin

Python 3标准库 第十四章 应用构建模块

Python 3标准库 The Python3 Standard Library by  Example -----------------------------------------第十四章     应用构建模块-----------------------------14.1  argparse:命令行选项和参数解析----------------------------- argparse模块 14.1.1  建立解析器 14.1.2  定义参数 argparse模块 14.1.3