Python模块续_os_sys_Json_pickle_shelve_xml_re
OS模块
#OS模块 import os import time if __name__=="__main__": #获取当前目录 print(os.getcwd()) #listdir() 遍历目录下的文件 print(os.listdir(os.getcwd())) #abspath 绝对路径 print(os.path.abspath(os.getcwd())) #文件夹与文件合并 path=os.path.join(os.getcwd(),"os模块.py") print(path) #文件夹与文件分离 print(os.path.split(path)) #返回路径的文件夹部分 print(os.path.dirname(path)) #返回路径的文件名 print(os.path.basename(path)) #查看文件时间 #getctime 文件创建时间 print(os.path.getctime(path)) #getatime 文件最后访问时间 print(os.path.getatime(path)) #getmtime 文件修改时间 print(os.path.getmtime(path)) #查看文件大小 # getisze 获取文件大小 print(os.path.getsize(path)) #exists() 查看文件是否存在 print(os.path.exists(path)) # print(os.chdir("22.os,sys,json,re模块1")) #path获取当前执行文件的路径 # print(os.path) #stat 获取文件的详细信息 # print(os.stat("json模块.py")) #mknod(filname,mode,device) #filename -- 创建的文件系统节点 #mode -- mode指定创建或使用节点的权限, 组合 (或者bitwise) stat.S_IFREG, stat.S_IFCHR, stat.S_IFBLK, 和stat.S_IFIFO (这些常数在stat模块). 对于 stat.S_IFCHR和stat.S_IFBLK, 设备定义了 最新创建的设备特殊文件 (可能使用 os.makedev()),其它都将忽略。 #device -- 可选,指定创建文件的设备 # import stat # os.mknod("b.txt",0600|stat.S_IRUSR) #得到系统环境变量列表 # print(os.get_exec_path()) #execl 运行文件 # print(os.execl("C:/Users/admin/AppData/Local/Google/Chrome/Application/chrome.exe","chrome")) #递归创建文件夹 #os.makedirs("a/b/c") # removedirs 递归删除文件夹 # os.removedirs("a/b/c") #创建文件夹 # os.mkdir("a") #删除文件夹 # os.rmdir("a") #system("")执行shell语句 # print(os.system("dir")) #exit() 退出程序 print(os._exit(0)) #rename # os.rename("b.txt","a.txt") #remove() 删除文件 # print(os.remove("a.txt")) # set \ # linesep \r\n 换行 # extsep . # pathsep ; print(os.sep) print(os.linesep) print(os.extsep) print(os.pathsep)
SYS模块
#SYS模块 import sys import os import time #sys.path.append() 添加环境到python解释器 sys.path.append(os.getcwd()) print(sys.path) #sys.stdout.write() 往控制台输入字符,相当于print() #动态往控制台输入字符 for i in range(100): sys.stdout.write(">") time.sleep(0.1) sys.stdout.flush() sys.stdout.close() if __name__=="__main__": #sys.argv 接收运行文件时接收的参数 python sys模块.py 1 2 3 4 5 args=sys.argv for i in args: print(i) #sys.version python解释器的版本 print(sys.version) #exit(0) 程序退出 # sys.exit(0)
JSON模块
#JSON模块 import json li={'name':'tom'} #json是各编程语言之间沟通的媒介,json不支持存储函数数据 if __name__=="__main__": #dumps 将python数据转换为标准的json字符串数据 with open("json","w",encoding="utf-8") as f: f.write(json.dumps(li)) #loads 将字符串json数据转换为python数据 with open("json","r",encoding="utf-8") as f1: ret=f1.read() print(ret) res=json.loads(ret) print(res["name"])
PICKLE模块
#PICKLE模块 import pickle #pickle 只用于python之间的数据交换,但pickle支持序列化,可以存储的类型更多 li=[{"name":"alex","age":18}] if __name__=="__main__": #dumps 将python数据序列化 with open("pickle","wb") as f: res=pickle.dumps(li) print(res) f.write(res) #loads 将二进制数据反序列化为python数据 with open("pickle","rb") as f1: res=f1.read() res=pickle.loads(res) print(res[0]["age"])
SHELVE模块
#SHELVE模块 import shelve #shelve 将序列化进行了封装,可以利用面向对象的思想操作shelve if __name__=="__main__": #基于某个文件为数据源,进行shelve操作 shel=shelve.open("shelve") #.__setitem__ 存储键值数据 shel.__setitem__("name","alex") shel.__setitem__("age",18) #.__getitem__ 获取键值数据 print(shel.__getitem__("name")) #shel.__contains__(key) 判断shelve是否存在对应的键值 print(shel.__contains__("name")) #shel.__iter__() 获取shelve里的键值队 print(list(shel.__iter__())) #shel.update()更新shelve的数据 shel.update(age=25) #shel.pop(key) 删除对应键的数据 print(shel.pop("name")) #shel.clear() 清空shelve所有数据 #print(shel.clear()) #items() 获取shelve里的键值队 print(list(shel.items())) #values() 获取shelve里所有的键 print(list(shel.keys())) #values() 获取shelve里所有的值 print(list(shel.values()))
XML模块
#XML模块 import xml.etree.ElementTree as ET #XML 操作xml资源的模块 if __name__=="__main__": #parse(source) 解析xml文件资源 data=ET.parse("data.xml") #getroot() 获取xml的根节点 res=data.getroot() #循环根节点下面的节点 for i in res: #tag 获取标签名 print(i.tag) #attrib 获取标签的属性 print(i.attrib) # find查找节点下的rank的元素 print(i.find("rank").text) #get 获取该标签的属性 print(i.get("name")) for node in i: #text 读取标签的文本值 print(node.tag,node.text) if(node.text.startswith("太平洋")): print("login in...") #修改标签文本 node.text="北冰洋" # write()将修改写入到文件 data.write("data.xml",encoding="utf-8")
RE模块
#RE模块 import re # 正则表达式 对字符串进行操作的模块 # . ^ $ * + ? # .可以匹配所有 # ^ 表示字符串的开头 # $ 表示字符串的尾部 # * -> 0,+00 # + -> 1,+00 # ? -> 0,1 if __name__=="__main__": # ... 每个.代表一个字母 res=re.findall("...","abc") print(res) # ^ 匹配只以字符串开头 res=re.findall("^..","bca") print(res) # $ 匹配只以字符串结尾 res=re.findall("..$","123erwrw") print(res) # * 匹配 0至无穷 res=re.findall(".*","asfdasd1312312") print(res) # + 匹配 0至无穷 res=re.findall(".+","a231sdasd1312312") print(res) # ? 匹配 0或1 res=re.findall(".?","a231sdasd1312312") print(res) # \转义字符 # \d 只匹配数字 \D 匹配除数字以外的元素 res=re.findall("\d+","aaaa13123asda231") print(res) # \w 只匹配字母数字下划线 \W匹配除数字下划线字母以外的元素 res=re.findall("\w+","adassd!_asdas_@24sda") ret=re.findall("\W+","adassd!_asdas_@24sda") print(res,ret) # \s 只匹配空格 res=re.findall("\s","13 3231 4435 5645") print(res) # [] 里面的元素都是 或的形式存在 # [-] -:指从哪到哪,是一个范围 #[a-z] [a-zA-z1-9_] 相当于 \w res=re.findall("[a-z]+","13asda123ad") print(res) # \将特殊字符转换为普通的字符 res=re.findall("1\.","1.dsasfd3.23123") print(res)
十四.Python模块续_os_sys_Json_pickle_shelve_xml_re
猜你喜欢
转载自blog.csdn.net/qq_39663113/article/details/85231732
今日推荐
周排行