python 檔案讀寫和序列化學習。
## python檔案讀寫
`1 開啟並且讀取檔案`
f = open('openfile.txt','r')`2 開啟並且讀取一行檔案`print(f.read())
f.close()
f = open('openfile.txt','r')`3 開啟並以二進位制形式讀取檔案`print(f.readline())
f.close()
f = open('./openfile.txt','rb')`4 開啟並自動關閉檔案`print(f.read())
f.close()
with open('openfile.txt','r') as f:`5 讀取所有行`print(f.read())
f = open('openfile.txt','r')`6 以gbk方式讀取檔案`for line in f.readlines():
print(line.strip())
f.close()
f = open('openfiles.txt','r',encoding='gbk' )`7 以追加方式寫`print(f.read())
f.close()
with open('openfile.txt', 'a') as f:## python io操作f.write('\n')
f.write('hello world!!!')
`1 stringio 寫字串`
from io import stringio`2 stringio 讀取字串`f = stringio()
f.write('hello')
f.write(' ')
f.write('world !')
print(f.getvalue() )
from io import stringio`3 bytesio 讀寫二進位制字元`f = stringio("hello\nworld\ngoodbye!!")
while true:
s = f.readline()
if(s==''):
break
print(s.strip())
from io import bytesio## python環境變數和目錄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()
`1 列印系統的名字和環境變數`
import os`2 獲取指定key值得環境變數`print(os.name)
print(os.environ)
print(os.environ.get('path'))`3 相對路徑轉化絕對路徑`
print(os.path.abspath('.'))`4 在某個目錄下建立乙個新的目錄`
#首先把新目錄的完整路徑表示出來`5 路徑切割`print(os.path.join('/users/michael','testdir') )
# 然後建立乙個目錄:
#print(os.mkdir('/users/michael/testdir') )
# 刪掉乙個目錄:
#print(os.rmdir('/users/michael/testdir') )
print(os.path.split('/path/to/file.txt') )`6 檔案重新命名和刪除`print(os.path.splitext('/path/to/file.txt') )
#print(os.rename('test.txt', 'test.py') )`7 列舉當前目錄下所有目錄和py檔案`#print(os.remove('test.py'))
print([x for x in os.listdir('.') if os.path.isdir(x) ])## python序列化print([x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1] == '.py'])
`1 序列化為二進位制`
import pickle`2 序列化寫入檔案`d = dict(name='bob', age=20, score=88)
print(pickle.dumps(d))
f = open('openfile3.txt','wb')`3 反序列化讀取檔案`print(pickle.dump(d, f) )
f.close()
f = open('openfile3.txt','rb')`4 序列化為json`d = pickle.load(f)
f.close()
print(d)
import json`5 反序列化`class student(object):
def __init__(self, name, age, score):
self.name = name
self.age = age
self.score = score
def convertfunc(std):
return
s = student('bob', 20, 88)
print(json.dumps(s,default=convertfunc))
print(json.dumps(s,default=lambda obj:obj.__dict__))
Python學習筆記(十二) 檔案操作
本節主要介紹檔案相關的操作 寫乙個檔案 writefile chen.txt hello python chen mo how are youwriting chen.txttxt open chen.txt 讀取全部內容 allcontent txt.read print allcontent h...
Python學習筆記(十二)
1.語法錯誤和異常錯誤 while true print hello python error message file c programming eclipse project pythonstudy exception.py line 9 while true print hello pyth...
Python學習筆記(十二) Python模組
一 python模組 python 模組 module 是乙個 python 檔案,以 py 結尾,包含了 python 物件定義和python語句。模組讓你能夠有邏輯地組織你的 python 段,把相關的 分配到乙個模組裡能讓你的 更好用,更易懂。模組能定義函式,類和變數,模組裡也能包含可執行的 ...