python基础—文件 | json序列化

来源:互联网 发布:淘宝上怎样删除评价 编辑:程序博客网 时间:2024/04/29 17:38


下面这些代码没有经过试验, 只是作为代码段作为日后的参考, 这些死的api姑且放在这里用的时候看一下再做总结


import sysprint(sys.path)# ---------------文件----------------------------# 第一种直接方式file1 = open("test.txt")file2 = open("output.txt", "w")  # w 表示 write (覆写) r 表示 read  a 表示 append (追写)while True:line = file1.readline()file2.write('"' + line[:s] + '"' + ",")if not line:breakfile1.close()file2.close()# read()  将文本文件所有行读到一个字符串中# readline() 一行一行的读# readlines() 将文本所有行读到一个list中,每一行是list的一个元素# 第二种  文件迭代器file2 = open("output.txt", "w")for line in open("test.txt"):file2.write('"' + line[:s] + '"' + ",")# 第三种  文件上下文管理器# 打开文件with open("somefile.txt", "r") as f:data = f.read()# loop 整个文档with open("somefile.txt", "w") as f:for line in f:#  处理每一行# 写入文本with open("somefile.txt", "w") as f:f.write("xxx")f.write("xxx")# 要把打印的line写入文件中with open("somefile.txt", "w") as f :print(line1, file=f)print(line2, file=f)# 二进制文件读写f = open("EDC.jpg", "rb")print(f.read())  # 输出\xff\xd8.... 十六进制表示的字节# 任何非标准文本文件(py2标准是ASCII, py3是unicode),用二进制读入文件,用.decode() 来解码f = open("DeGuangGuo.txt", "rb")u = f.read().decode('DeyunCode')# 文件和目录的操作# python调用内置的os模块来调用操作系统的接口函数import osos.name  # posix == nix   nt == windowsos.uname()  # 查看具体信息# 环境变量 存在os.environ中  是list# 当前目录的绝对路径os.path.abspath('.')# 在某个目录下创建一个新目录,把新目录表示出来os.path.join('/Users/EDC', 'Pictures') # 得到是新路径的字符串# 创建目录os.mkdir('/Users/EDC/Pictures/')# 删除目录os.rmdir('/Users/EDC/Pictures')# 拆分字符串os.path.split('/Users/EDC/Pictures/AJ.avi') # 拆分为俩部分, 后一部分为最后级别的目录或者文件# ('/Users/EDC/Pictures/', 'AJ.avi')# 得到文件扩展名os.path.splitext('/Users/EDC/Pictures/AJ.avi')# ('/Users/EDC/Pictures/AJ', '.avi')# 文件重命名os.rename('xxx.xx', 'bbb')# 删除文件os.remove('xxx')# 可以使用 Shutil来帮助我们搞定文件# 列出当前目录下的所有目录[x for x in os.listdir('.') if os.path.isDir(x)]# 列出 .py文件[x for x in os.listdir('.') if os.path.isDir(x) and os.path.splitext(x)[1] == '.py']# 序列化 从内存存储到硬盘或者传输的过程为序列化  从硬盘到内存为反序列import pickled = dict(name='jack', age=23, score=60)str = pickle.dumps(d) # 调用pickle的dumps函数进行序列化处理print(str)f = open("dump.txt", "wb")pickle.dump(d, f)# 将内容序列化写到文件中f.close()# 反序列化import picklef = open("dump.txt", "rb")d = pickle.load(f)    # 调用load做反序列化f.close()print(d)print('name is %s' % d['name'])# python2 和3 里面的pickle不一致,为了保证和谐try:import cPickle as pickleexcept ImportError:import pickle# json 序列化   使用json这个库即可 import jsond1 = dict(name='jack', age = 29, score=32)str = json.dump(d1)  # 序列化d2 = json.loads(str) # 反序列化


I'm fish, I'm on.

0 0
原创粉丝点击