python自带_python 自带的电池
在python社区中,有一句俗语叫‘py自带着电池’,指的就是在python标准库中的模块。python标准库提供了数百种模块。接下来我们一起来探究其中一些模块。1.1 time 时间模块时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。格式化的时间字...
在python社区中,有一句俗语叫‘py自带着电池’,指的就是在python标准库中的模块。python标准库提供了数百种模块。接下来我们一起来探究其中一些模块。
1.1 time 时间模块
时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按 秒计算的偏移量。我们运行“type(time.time())”,返回的是float
类型。
格式化的时间字符串(Format String)
结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日, 时,分,秒,一年中第几周,一年中第几天,夏令时)
1.1.1时间戳
time() 做计算来用
1.1.2 结构化时间
localtime() 当地时间(显示来用)
1.1.3 字符串时间
1.2 random模块
练习:随机生成一个验证码程序:验证码包括数字和字母,验证码的位数可通过传入参数来定义。
1.3 os模块
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
os.makedirs('dirname1/dirname2') 可生成多层递归目录
os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname
os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove() 删除一个文件
os.rename("oldname","newname") 重命名文件/目录
os.stat('path/filename') 获取文件/目录信息
os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep 输出用于分割文件路径的字符串 win下为;,Linux下为:
os.system("bash command") 运行shell命令,直接显示
os.environ 获取系统环境变量
os.path.abspath(path) 返回path规范化的绝对路径
os.path.split(path) 将path分割成目录和文件名二元组返回
os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
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(path1[, path2[, ...]])将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
os.path.getsize(path) 返回path的大小
os的join方法:最常用的方法
os.path.join(path1[, path2[, ...]])比较重要
用于路径拼接
1.4 sys模块
sys.argv命令行参数List,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(0)
sys.version 获取Python解释程序的版本信息
sys.maxint 最大的Int值
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统r平台名称
示例一:sys.argv就是传参执行程序
把传入的参数解析出来,并赋予参数对应的逻辑:
示例二:进度条的实现
1.5 json模块(非常重要)
json在任何语言之间都可以传送,比eval还要强大。
1)dumps 方法
将数据通过特殊的形式转换为所有程序语言都认识的字符串
将字典类型转换为json字符串类型:
json.dumps 方法首先会把字典dic里面的‘’全部变成“”,然后就变成了一个字符串,无论是整型还是列表,都会变成jason字符串。
因为没有任何语言不能识别字符串,所以,你就知道为什么json那么厉害了吧。
2)loads 方法
将json编码的字符串再转换为python的数据结构
3)dump方法
将数据通过特殊的形式转换为所有程序语言都认识的字符串,并写入文件
4) load方法
从数据文件中读取数据,并将json编码的字符串转换为python的数据结构。
对于字典,json会假设key是字符串(字典中的任何非字符串key都会在编码时转换为字符串),要符合JSON规范,应该只对python列表和字典进行编码。此外,在WEB应用中,把最顶层对象定义为字典是一种标准做法。
json编码的格式几乎和python语法一致,略有不同的是:
1)True会被映射为true
2)False会被映射为false
3)None会被映射为null
4)元组()会被映射为列表[],因为其他语言没有元组的概念,只有数组,也就是列表。
1.6pickle模块
pickle基本和json差不多,但是,它可以支持类,函数,支持的种类更多,也没有多大意义。
写入文件中的内容不可读,因为json处理出来的是字符串,而pickle处理出来的是字节类型。
1.7shelve模块(了解即可)
shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;
这个类似字典的对象,key必须是字符串,而value可以是python所支持的类型。
1.8XML 模块
由于XML出现的非常早,现在很多领域依然再用,在java中xml是必学的。
所以必须了解xml。
如何利用python提供的模块对下面xml文件进行增删改查。
利用 xml.etree.ElementTreeMOKUAI 55TF模块
如上xml文件
如何自己创建一个xml文件?
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)