python_day13_檔案操作常用模組
json 模組 .json檔案
- json 定義不同語言之間的互動規則
- 序列化:記憶體資料轉換成字元
- 反序列化:把字元轉為記憶體資料
- json.dumps()序列化
- json.dump(obj,fp,…) 序列化並寫入檔案obj為變數名 fp檔名(name.json檔案需要提前開啟
- json.loads() 反序列化把字串轉為記憶體變數
- json.load(filename) 從檔案進行反序列化
pickle 模組 .pkl檔案
-
pickle.dumps() pickle序列化為bytes
-
pickle.dump()
-
pickle.loads()
-
pickle.load()
-
load(s)、dump(s) 不可執行多次。
-
json:支援 str, int , tuple, list, dict,
-
pickle: 支援python裡所有的資料型別, 但是隻能在python裡使用
shelve 模組
- 可dump load 多次
-
import shelve
f = shelve.open(filename) - shelve.open() 有writeback引數, 預設值為False 改為True時,可對檔案內容修改
xml 模組
- 這個真的懶得寫了
- https://www.cnblogs.com/cuijianxin/p/6488716.html
- 看大佬部落格吧。
configparser 模組(解析配置檔案)
-
config.ini 檔案
-
config = configparser.ConfigParser()
conf.read(“conf.ini”)
print(dir(conf))
print(config.sections())
print(conf.default_section)
print(conf[“bitbucket.org -
註釋1
; 註釋2
[section1]
k1 = v1
k2:v2[section2]
k1 = v1import ConfigParser
config = ConfigParser.ConfigParser()
config.read(‘i.cfg’)#secs = config.sections()
#print secs
#options = config.options(‘group2’)
#print options#item_list = config.items(‘group2’)
#print item_list#val = config.get(‘group1’,‘key’)
#val = config.getint(‘group1’,‘key’)#sec = config.remove_section(‘group1’)
#config.write(open(‘i.cfg’, “w”))#sec = config.has_section(‘wupeiqi’)
#sec = config.add_section(‘wupeiqi’)
#config.write(open(‘i.cfg’, “w”))#config.set(‘group2’,‘k1’,11111)
#config.write(open(‘i.cfg’, “w”))#config.remove_option(‘group2’,‘age’)
#config.write(open(‘i.cfg’, “w”))