日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 学习笔记(十二) 文件和序列化

發布時間:2023/12/20 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 学习笔记(十二) 文件和序列化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


python 文件讀寫和序列化學習。
## python文件讀寫
`1 打開并且讀取文件`

f = open('openfile.txt','r') print(f.read()) f.close()

`2 打開并且讀取一行文件`

f = open('openfile.txt','r') print(f.readline()) f.close()

`3 打開并以二進制形式讀取文件`

f = open('./openfile.txt','rb') print(f.read()) f.close()

`4 打開并自動關閉文件`

with open('openfile.txt','r') as f: print(f.read())

`5 讀取所有行`

f = open('openfile.txt','r') for line in f.readlines(): print(line.strip()) f.close()

`6 以gbk方式讀取文件`

f = open('openfiles.txt','r',encoding='gbk' ) print(f.read()) f.close()

`7 以追加方式寫`

with open('openfile.txt', 'a') as f: f.write('\n') f.write('Hello World!!!')

## python IO操作
`1 StringIO 寫字符串`

from io import StringIO f = StringIO() f.write('hello') f.write(' ') f.write('world !') print(f.getvalue() )

`2 StringIO 讀取字符串`

from io import StringIO f = StringIO("Hello\nWorld\nGoodBye!!") while True: s = f.readline() if(s==''): break print(s.strip())

  

`3 BytesIO 讀寫二進制字符`

from io import BytesIO f = BytesIO() f.write('中文'.encode('utf-8') ) print(f.getvalue())from io import BytesIO f = BytesIO(b'\xe4\xb8\xad\xe6\x96\x87') f.read()

  

## python環境變量和目錄

`1 打印系統的名字和環境變量`

import os print(os.name) print(os.environ)

`2 獲取指定key值得環境變量`

print(os.environ.get('PATH'))

`3 相對路徑轉化絕對路徑`

print(os.path.abspath('.'))

`4 在某個目錄下創建一個新的目錄`

#首先把新目錄的完整路徑表示出來 print(os.path.join('/Users/michael','testdir') ) # 然后創建一個目錄: #print(os.mkdir('/Users/michael/testdir') ) # 刪掉一個目錄: #print(os.rmdir('/Users/michael/testdir') )

`5 路徑切割`

print(os.path.split('/path/to/file.txt') ) print(os.path.splitext('/path/to/file.txt') )

`6 文件重命名和刪除`

#print(os.rename('test.txt', 'test.py') ) #print(os.remove('test.py'))

`7 列舉當前目錄下所有目錄和py文件`

print([x for x in os.listdir('.') if os.path.isdir(x) ]) print([x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1] == '.py'])

## python序列化

`1 序列化為二進制`

import pickle d = dict(name='Bob', age=20, score=88) print(pickle.dumps(d))

`2 序列化寫入文件`

f = open('openfile3.txt','wb') print(pickle.dump(d, f) ) f.close()

`3 反序列化讀取文件`

f = open('openfile3.txt','rb') d = pickle.load(f) f.close() print(d)

`4 序列化為json`

import jsonclass Student(object): def __init__(self, name, age, score): self.name = name self.age = age self.score = scoredef convertFunc(std): return {'name':std.name, 'age':std.age, 'score':std.score}s = Student('Bob', 20, 88) print(json.dumps(s,default=convertFunc)) print(json.dumps(s,default=lambda obj:obj.__dict__))

  

`5 反序列化`

def revert(std): return Student(std['name'], std['age'], std['score'])json_str = '{"age": 20, "score": 88, "name": "Bob"}' print(json.loads(json_str, object_hook=revert ) )

  我的微信公眾號

?

轉載于:https://www.cnblogs.com/secondtonone1/p/7833798.html

總結

以上是生活随笔為你收集整理的python 学习笔记(十二) 文件和序列化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。