mylist=list(itertols.product([1,2,3,4,5],repeat=4))
print(mylist)
#序列化----轉向乙個字串的資料型別
#序列---字串
"" \
#寫檔案
# 網路上傳輸
#從資料型別--》字串的過程 序列化
#從字串到資料型別 反序列化
#json模組
# shelve模組
# #pickle模組
#json通用的序列化格式
#只有很少的一部分資料型別能夠通過json轉化成字串
#pickle
#所有的python中的資料型別都可以轉換成字串形式
#pickle序列化的內容只有python能夠理解
#且部分反序列化依賴python**
#shelve
#序列化控制代碼 使用方便
dic=
print(type(dic))
import json
str_d=json.dumps(dic)#序列化
print(type(str_d),str_d)
dic_d=json.loads(str_d)#反序列化
#數字 字串 元組 列表 字典
#json dump load是對檔案的操作
import json
dic=
f=open('fff','w',encoding='utf-8')
json.dump(dic,f)#往檔案裡寫
f.close()
f=open('fff')
res=json.load(f)#讀檔案
f.close()
print(type(res),res)
#json
# dumps{}---->'{}\n'
# #一行一行的讀
# #『{}\n'
#'{}'loads
l=[,,]
f=open('file','w')
import json
for dic in l:
str_dic=json.dumps(dic)
f.write(str_dic+'\n')
f.close()
f=open('file')
import json
for line in f:
dic =json.loads(line.strip())
f.close()
print(l)
import pickle
dic=
str_dic=pickle.dumps(dic)
print(str_dic)#一串二進位制內容
dic2 =pickle.loads(str_dic)
print(dic2)#字典
import time
struct_time = time.localtime(10000000)
print(struct_time)
f=open('pickle_file','wb')#注意是wb方式
pickle.dump(struct_time,f)
f.close()
f=open('pickle_file','rb')
struct_time2=pickle.load(f)
print(struct_time2.tm_year)
#shelve只提供乙個open方法,是用key來訪問的,使用起來和字典類似
import shelve
f=shelve.open('shelve_file')
f=#直接對檔案控制代碼操作,就可以存入資料
f.close()
import shelve
f1=shelve.open('shelve_file')
existing=f1['key']#取出資料的時候只需要直接用key獲取即可,但是如果key不存在會直接報錯
f1.close()
print(existing)
import shelve
f1=shelve.open('shelve_file')
f1['key']['new_value']='this was not here before'
f1.close()
f2=shelve.open('shelve_file',writeback=true)#writeback的優點是減少了出錯的概率,並且讓物件的持久化對使用者更加透明了,但這種方式並不是所有情況都需要,首先使用writeback以後,shell在open()放入時候增加額外記憶體的消耗,並且db在close()的時候會將快取中的每乙個物件寫入到db,這也會帶來額外的等待時間;
print(f2['key'])
f2.close()
print('demo.py')
#模組匯入
def read():
print('in read1')
#檔案##
import demo
demo.read()
#找到模組 建立這個模組的命名空間 把檔案內的名字都放到命名空間
import time as t
print(t.time())
#資料庫
import oracle
import mysql
#連線資料庫 登入認證 閉資料庫
if 資料庫=『oracle':
import oracle as db
if 資料庫=『mysql':
import mysql as db
#內建模組 擴充套件的django 自定義的模組
from time import sleep
sleep()
# 單獨匯入方法和變數
import sys
print(sys.path)
#demo.py
__all__=['money','read','read2']
print('in demo.py')
money=100
def read():
print('in read1',money)
def read2():
print('in read2',money)
from demo import *
# import 模組名
# #模組名.變數名 和本檔案中的變數名完全不衝突
# #模組不會重複匯入:sys.moudles sys.path這裡匯入
# import 模組名 as 重新命名的模組名:提高**的相容性
#__name__
#在模組中 有乙個變數__name__,
# 當我們直接執行這個模組的時候,__name__=='__main__'
# 當我們執行其他模組,在其他模組中引用模組的時候,這個模組中的__name__=='模組的名字'
序列化模組和匯入模組
序列化 轉向乙個字串資料型別 序列 字串 json 數字 字串 列表 字典 元組 pickle 所有的python中的資料型別都可以轉化成字串形式 pickle序列化的內容只有python能理解 且部分反序列化依賴python shelve 序列化控制代碼 使用控制代碼直接操作,非常方便 impor...
python 序列化模組 python 序列化模組
一 介紹 1 分類 序列化 資料型別 字串 反序列化 字串 資料型別 2 作用 檔案傳輸和檔案儲存需要將資料型別轉換成字串 二 序列號模組分類 1 json 優點 程式語言中的英語,同用語言 缺點 資料型別少 數字 字串 列表 字典 元祖 通過列表進行的 2 pickle 優點 python的所有資...
python 序列化模組
1 分類 序列化 資料型別 字串 反序列化 字串 資料型別 2 作用 檔案傳輸和檔案儲存需要將資料型別轉換成字串 1 json 優點 程式語言中的英語,同用語言 缺點 資料型別少 數字 字串 列表 字典 元祖 通過列表進行的 2 pickle 優點 python的所有資料型別 缺點 不通用,只能在p...