**1,json,pickle 序列化,反序列化 **
- json.dumps()
- json.loads()
遇到的问题: 练习时一直报错:属性异常AttributeError: module 'json' has no attribute 'dumps' 原因: 文件名我取名为了json.py. Python找import json的顺序是: 首先我们要了解python中import引入模块的原理机制。当我们执行一行 from package import module as mymodule 命令时,Python解释器会查找package 这个包的module模块,并将该模块作为 mymodule 引入到当前的工作空间。所以import语句主要是做了二件事: 查找相应的module 加载module到local namespace 在import的第一个阶段,主要是完成了查找要引入模块的功能。查找时首先检查 sys.modules (保存了之前import的类库的缓存),如果module没有被找到,则按照下面的搜索路径查找模块: .py 所在文件的目录 PYTHONPATH 中的目录 python安装目录,UNIX下,默认路径一般为/usr/local/lib/python/ 3.x 中文件内容 也就是说,当我们import json的时候,它会先搜索json.py所在目录有没有对应的模块,由于我们命名的json.py与json模块文件重名,所以会误以为我们自己创建的json.py即为json模块文件,所以会出现这样的错误。 解决方法:改掉文件名。不要使用python的库名,内建函数名等关键字作为文件名
**
2,import sys,os**
os.path.abspath() 返回绝对路径。 os.path.dirname() 返回当前路径的目录。
3,time,datetime 时间有三种表示方法: 时间戳 54594275742572 可以反换算成格式化时间。 格式化时间 2019-02-49 12:34:00 元组,struct_time,如下time.localtime()返回的格式。 struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天等) time.struct_time(tm_year=2019, tm_mon=11, tm_mday=5, tm_hour=15, tm_min=52, tm_sec=7, tm_wday=1, tm_yday=309, tm_isdst=0) tm_wday(0到6 (0是周一),一周的第几日) tm_yday(这一年的第几年,已经309天,总共365天。) tm_isdst dst 是指夏令时,daylight saving time
结构化时间里调用单独的年,月日时。
s = time.localtime() s.tm_mon #单独的月时。 11 #返回11月
时间戳转换 24395775/3600/24/365 +1970 即得出当前年份。
time.mktime() time.strftime() time.strptime() time.localtime() time.gmtime()
4,random import random import string
随机整数:
print random.randint(1,50)
随机选取0到100间的偶数:
print random.randrange(0, 101, 2)
随机浮点数:
print random.random() #0-1之间的浮点数。 print random.uniform(1, 10)
随机字符:选取其中的随机一个字符
print random.choice('abcdefghijklmnopqrstuvwxyz!@#$%^&*()')
多个字符中生成指定数量的随机字符:
print random.sample('zyxwvutsrqponmlkjihgfedcba',5)
从a-zA-Z0-9生成指定数量的随机字符:
ran_str = ''.join(random.sample(string.ascii_letters + string.digits, 8)) print ran_str
多个字符中选取指定数量的字符组成新字符串:
print ''.join(random.sample(['z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a'], 5))
随机选取字符串:
print random.choice(['剪刀', '石头', '布'])
打乱排序
items = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] print random.shuffle(items)
random.randint() #用于生成一个指定范围内的整数。
5,os
os.chdir(r'/') # r为转义。 切换当前目录。 os.getcwd() #得到当前目录