Python学习week5
2021-05-17 00:28
标签:argv l命令 赋值 person 名称 span 简单的 pat lex 模块:用来从逻辑上组织代码,本质是.py结尾的Python文件。 Python Package(包): 用来从逻辑上组织模块,本质是文件夹,必须带有__init__.py文件。 导入模块: 1、import module_name1,module_name2...... 导入模块文件,调用时用module_name.variable_name。 2、from module_name import * 导入模块文件内的所有代码,调用时直接用模块内的变量名称。如果当前文件内有变量和模块文件内的变量同名的话,就近执行,哪个最近解释的就执行哪个。 3、from module import func as func_module 使用as关键字区分当前文件内的变量和模块文件内的变量。 4、from module import func as func_module1,func2 as func_module2 推荐1、3、4方法。 import module_name本质:把模块文件运行一遍,然后把模块文件内容赋值给模块文件名。调用格式:module_name.variable_name from module import func本质:解释模块中的func。调用格式:variable_name 导入包:import package_name 当前文件与package文件同级。 导入包的本质:运行package目录下的__init__.py文件。 模块分类: 1、标准库,Python自带 2、开源模块,第三方模块 3、自定义模块 time模块: 时间戳:从1970年1月1日零时起至今的秒数; 格式化时间:字符串表示时间,可以自定义格式; %Y:年 %m:月 %d:日 %A:星期几 %H:时 %M:分 %S:秒 struct_time:元组方式表示时间,有9个元素 不同时间表示方法之间的转化:
返回时间戳模式的时间: 返回元组形式的本地时间: 返回元组形式的标准时间: random模块: 其中,random.choice()和random.sample()参数均是序列。序列可以是list,tuple,string,不可以是字典。 OS模块: sys模块: json和pickle模块: 用于序列化的两个模块 Json模块提供了四个功能:dumps、dump、loads、load pickle模块提供了四个功能:dumps、dump、loads、load shelve模块: shelve模块是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式。 读取数据: XML模块: 现有xml文件内容如下: 从此文件中获取信息: 修改xml文件: 创建xml文件: 生成的xml文件不会自动换行。 Python学习week5 标签:argv l命令 赋值 person 名称 span 简单的 pat lex 原文地址:https://www.cnblogs.com/zhhy236400/p/9735972.html
time.time()
1538570674.6409438
time.localtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=3, tm_hour=20, tm_min=45, tm_sec=45, tm_wday=2, tm_yday=276, tm_isdst=0)
time.gmtime()
time.struct_time(tm_year=2018, tm_mon=10, tm_mday=3, tm_hour=12, tm_min=45, tm_sec=55, tm_wday=2, tm_yday=276, tm_isdst=0)
import random
print(random.random()) #随机产生0-1之间的浮点数
print(random.uniform(5,10)) #随机产生5-10之间的浮点数
print(random.randrange(0,101,5)) #随机产生0-101且步长为5的整数
print(random.choice(range(0,101,5))) #随机产生0-101且步长为5的整数
print(random.randint(0,10)) #随机产生0-10的整数,包括10
print(random.choice(‘abcdefg123456789‘)) #从序列中随机选择一个元素
print(random.sample([1,2,3,4,5,6],2)) #从样本中随机选择2个元素,输出为list
items=[1,2,3,4,5,6]
random.shuffle(items) #打乱items的排列顺序,改变items。
print(items)
os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
os.curdir 返回当前目录: (‘.‘)
os.pardir 获取当前目录的父目录字符串名:(‘..‘)
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.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep 输出用于分割文件路径的字符串
os.name 输出字符串指示当前使用平台。win->‘nt‘; Linux->‘posix‘
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所指向的文件或者目录的最后修改时间
sys.argv 命令行参数List,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(0)
sys.version 获取Python解释程序的版本信息
sys.maxint 最大的Int值
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
import shelve
d = shelve.open(‘shelve_test‘) # 打开一个文件
name = ["alex", "rain", "test"]
d["test"] = name # 持久化列表
d.close()
import shelve
d=shelve.open("shelve_test")
print(d.get(‘test‘))
输出:
[‘alex‘, ‘rain‘, ‘test‘]
import xml.etree.ElementTree as ET
tree = ET.parse("xmltest.xml") #xmltest.xml是xml文件名
root = tree.getroot()
print(root.tag)
# 遍历xml文档
for child in root:
print(child.tag, child.attrib)
for i in child:
print(i.tag, i.text,i.attrib)
# 只遍历year 节点
for node in root.iter(‘year‘):
print(node.tag, node.text)
import xml.etree.ElementTree as ET
tree = ET.parse("xmltest.xml")
root = tree.getroot()
# 修改
for node in root.iter(‘year‘):
new_year = int(node.text) + 1
node.text = str(new_year)
node.set("updated", "yes")
tree.write("xmltest.xml")
# 删除node
for country in root.findall(‘country‘):
rank = int(country.find(‘rank‘).text)
if rank > 50:
root.remove(country)
tree.write(‘output.xml‘)
import xml.etree.ElementTree as ET
new_xml = ET.Element("people")
person1 = ET.SubElement(new_xml, "person1", attrib={"enrolled": "yes"})
person1.text="刚田武"
age = ET.SubElement(person1, "age", attrib={"checked": "no"})
age.text = ‘23‘
sex = ET.SubElement(person1, "sex")
sex.text="男"
person2 = ET.SubElement(new_xml, "person2", attrib={"enrolled": "no"})
person2.text="猪刚鬣"
age = ET.SubElement(person2, "age")
age.text = ‘22‘
sex = ET.SubElement(person2, "sex")
sex.text="男"
et = ET.ElementTree(new_xml) # 生成文档对象
et.write("朱二娃和基佬强.xml", encoding="utf-8", xml_declaration=True)
上一篇:排序算法,以php为代码示例
下一篇:汇编语言第一章节知识总结