time时间模块
struct_localTime = time.localtime()
print(struct_localTime.tm_year)
print(struct_localTime)
# 结构化时间
struct_time = time.gmtime()
print(struct_time)
# 将结构化时间转为时间戳
timeStamp = time.mktime(time.localtime())
print(timeStamp)
# 将结构化时间转为字符串时间
str_time = time.strftime('%Y-%m-%d %X',time.localtime())
print(str_time)
#将字符串时间转为结构化时间
new_struct_tiem = time.strptime('2016:12:12:17:30:12','%Y:%m:%d:%X')
print(new_struct_tiem)
# 将结构化时间转为固定的格式
print(time.asctime())
# 将字符串时间转为固定的格式
print(time.ctime())
datetime模块
import datetime
print(datetime.datetime.now())
# 打印:2018-08-15 10:31:03.353421
随机模块random
import random
# 取0到1浮点型
random_n = random.random()
print(random_n)
# 0.3599807964622119
limit_random = random.randint(1, 6)
print(limit_random)
# 1到6随机数
# 从列表中去一个数,概率为1/3
r_random = random.choice([1, 2, 3])
print(r_random)
# 从列表中取一系列数 取三个数字
s_random = random.sample([1, 2, 3, 4, 5, 66], 3)
print(s_random)
# 取任意范围的浮点型
u_random = random.uniform(1, 6)
print(u_random)
# 打乱列表顺序
list1 = [1, 2, 3, 4, 5]
new = random.shuffle(list1)
print(list1)
demo: 取随机验证码
import random
def getRandomCode():
result = ''
for i in range(5):
num = random.randint(0, 9)
asc_char = random.randint(65, 122)
char = chr(asc_char)
s = str(random.choice([num, char]))
result += s
return result
result = getRandomCode()
print(result)
解决路径引用问题
import os, sys
if __name__ == '__main__':
# 文件的路径
print(__file__)
# 文件的绝对路径
abs_path = os.path.abspath(__file__)
# os.path.dirname 查找上一层目录
self_path = os.path.dirname(abs_path)
print(self_path)
BATH_DIR = os.path.dirname(self_path)
print(BATH_DIR)
# 临时添加目录
sys.path.append(BATH_DIR)
os模块
# 当前工作路径
print(os.getcwd())
# 改变当前路径
print(os.chdir('..'))
print(os.getcwd())
...
sys模块
argv
获取用户输入参数
import os, sys
if __name__ == '__main__':
print(sys.argv)
path = sys.argv[0]
command = sys.argv[1]
进度条:
import time, sys
if __name__ == '__main__':
for i in range(100):
# 向屏幕输出 会缓存
sys.stdout.write('#')
time.sleep(0.1)
# 立即输出缓存内容
s
json模块
符合json规则的字符串:必须使用双引号["key":"value"]
import json
if __name__ == '__main__':
dict1 = {'name': 'bill'}
# 使用单引号会自动转为双引号
jsonStr = json.dumps(dict1)
print(jsonStr , type(jsonStr))
raw = json.loads(jsonStr)
print(raw , type(raw))
pickle模块
同json相似,不过dump结果是bytes字节
序列化结果,不可读
pickle可序列化的种类比json更多
shelve模块
import shelve
if __name__ == '__main__':
# 生成固定三个文件,并存入已经序列化的数据
f = shelve.open(r"new_file")
f["name"] = "alex"
f["age"] = 18
f.close()
######### 分割线 #########
file1 = shelve.open(r"new_file")
# 取值
name = file1.get("name")
XML模块
标签语言
# 简写
import xml.etree.cElementTree as ET
tree = ET.parse("xml_lesson")
root = tree.getroot()
# 获取标签名字
root_tag = root.tag
# 获取标签属性
root_attr = root.attrib
for i in root:
subNode = i
# 遍历修改某一标签
for node in root.iter("year"):
new_year = int(node.text) + 1
node.text = str(new_year)
# 新增一个标签
node.set("updated", "yes")
# 写入文件内容
tree.write("xml_lesson")
# 删除标签
for counrtyNode in root.findall("country"):
rank = int(counrtyNode.find("rand").text)
if rank > 50:
root.remove(counrtyNode)
# 写入文件内容
tree.write("xml_lesson")
创建xml文件:
# 简写
import xml.etree.cElementTree as ET
# 创建xml
# 创建跟标签
new_xml = ET.Element("root")
name = ET.SubElement(new_xml,"name",attrib={"ecrolled":"yes"})
name.text = "bill"
# 生成文档对象
et = ET.ElementTree(new_xml)
et.write("test.xml",encoding="utf-8",xml_declaration=True)
# 打印生成的格式
ET.dump(new_xml)
网友评论