1. 程式人生 > >Python3 檔案操作應用練習

Python3 檔案操作應用練習

import json
'''將列表中的多個字典資訊轉為json資料,儲存到檔案。檔案操作應用練習'''
list = [{'k1': '值1', 'k2': '值2', 'k3': '值3'}, {'k11': '值11', 'k22': '值22', 'k33': '值33'}]

def memory():
    '''儲存'''
with open('student.json', 'w') as f:
        for i in list:
            json_i = json.dumps(i)
            f.write(json_i+'\n')
    f.close()

def 
repick(): '''提取資料''' risk_result = [] with open('student.json', 'r') as f: risk_new_list = f.read().split('\n')[:-1] for x in risk_new_list: json_x = json.loads(x) risk_result.append(json_x) f.close() print(risk_result) if __name__ == '__main__'
: while True: num = input('輸入命令已測試功能,1.儲存 2.取出:') if num == '1': memory() elif num == '2': repick() else: print('....')

總結:序列化模組

Json模組提供了四個功能:dumps、dump、loads、load

import json
#(1)dumps
dic = {'k1':'值1','k2':'值2','k3':'值3'}
str_dic 
= json.dumps(dic) #將字典轉換成一個字串 print(type(str_dic),str_dic) '''結果: <class 'str'> {"k3": "\u503c3", "k1": "\u503c1", "k2": "\u503c2"} ''' #(2)loads dic2 = json.loads(str_dic) #將一個序列化轉換成字典 print(type(dic2),dic2) '''結果: <class 'dict'> {'k3': '值3', 'k1': '值1', 'k2': '值2'} ''' #(3)dump f1 = open('json_file','w') #預設編碼方式是GBK dic = {'k1':'值1','k2':'值2','k3':'值3'} json.dump(dic,f1) #dump方法將dic字典資訊,轉換成json字串寫入檔案 f1.close() #(4)load f = open('json_file') #預設編碼方式是GBK dic2 = json.load(f) #load方法將檔案中的內容轉換成資料型別返回 f.close() print(type(dic2),dic2) '''結果: <class 'dict'> {'k3': '值3', 'k1': '值1', 'k2': '值2'} ''' #(5)ensure_ascii import json f = open('file','w') #以寫的方式開啟一個檔案 #預設編碼方式是GBK json.dump({'國籍':'中國'},f) #將{'國籍':'中國'}轉換成json字串寫入檔案中 ret = json.dumps({'國籍':'中國'}) #將{'國籍':'中國'}轉換成json字串賦給變數ret f.write(ret+'\n') #將ret的json字串內容寫入檔案 json.dump({'國籍':'美國'},f,ensure_ascii=False) #dump對於中文預設以ASCII碼儲存,如果不使用需指定ensure_ascii=False ret = json.dumps({'國籍':'美國'},ensure_ascii=False) #dumps對於中文預設以ASCII碼儲存,如果不使用需指定ensure_ascii=False f.write(ret+'\n') f.close() #(6)其它引數說明 r''' Serialize obj to a JSON formatted str.(字串表示的json物件) Skipkeys:預設值是False,如果dict的keys內的資料不是python的基本型別(str,unicode,int,long,float,bool,None),
設定為False時,就會報TypeError的錯誤。此時設定成True,則會跳過這類key 
ensure_ascii:,當它為True的時候,所有非ASCII碼字元顯示為\uXXXX序列,只需在dump時將ensure_ascii設定為False即可,此時存入json的中文即可正常顯示。) 
If check_circular is false, then the circular reference check for container types will be skipped and a circular reference will result in 
an OverflowError (or worse). If allow_nan is false, then it will be a ValueError to serialize out of range float values (nan, inf, -inf) in strict compliance of the
JSON specification, instead of using the JavaScript equivalents (NaN, Infinity, -Infinity). indent:應該是一個非負的整型,如果是0就是頂格分行顯示,如果為空就是一行最緊湊顯示,否則會換行且按照indent的數值顯示前面的空白分行顯示,這樣打印出來的json資料也叫
pretty-printed json separators:分隔符,實際上是(item_separator, dict_separator)的一個元組,預設的就是(‘,’,’:’);這表示dictionary內keys之間用“,”隔開,而KEY和value之間用“:
”隔開。 default(obj) is a function that should return a serializable version of obj or raise TypeError. The default simply raises TypeError. sort_keys:將資料根據keys的值進行排序。 To use a custom JSONEncoder subclass (e.g. one that overrides the .default() method to serialize additional types), specify it with the
cls kwarg; otherwise JSONEncoder is used.
''' #(7)格式化輸出 import json data = {'username':['李華','二愣子'],'sex':'male','age':16} json_dic2 = json.dumps(data,sort_keys=True,indent=2,separators=(',',':'),ensure_ascii=False) print(json_dic2) '''結果: { "age":16, "sex":"male", "username":[ "李華", "二愣子" ] }'''

相關推薦

Python3 檔案操作應用練習

import json '''將列表中的多個字典資訊轉為json資料,儲存到檔案。檔案操作應用練習''' list = [{'k1': '值1', 'k2': '值2', 'k3': '值3'}, {'

python3-檔案操作

總結一下python3檔案操作 檔案操作分為讀,寫,修改。   讀檔案 示例1: 現有以下檔案: ‘兼職1’   (utf-8編碼格式) 王心 深圳 159 46 13813234424 馬纖羽 深圳 173 50 1

python 基礎複習 08 之檔案操作練習

1 # 絕對路徑: 就是最完整的路徑 例子:"E:\資料結構與演算法\python.txt" 2 # 相對路徑: 相對則是不完整路徑。也就是說咱們寫的相對路徑必須是當前資料夾裡的檔案才可以open。 3 4 # 只讀 :r 5 # rb 6 # f = ope

檔案操作課後練習

1. 檔案a.txt內容:每一行內容分別為商品名字,價錢,個數。 apple 10 3 tesla 100000 1 mac 3000 2 lenovo 30000 3 chicken 10 3 通過程式碼,將其構建成這種資料型別:[{'name':'apple','price':10,

python3檔案操作

import os import shutil os.getcwd() # 獲取當前工作目錄,非指令碼目錄 os.listdir() # 返回指定目錄下的所有檔案和目錄,非遞迴 os.remove() # 刪除檔案 os.removedirs() #刪除目錄 os.path.isf

Python3 --- 檔案操作

一、檔案的開啟 在Python中使用open函式,可以開啟一個已經存在的檔案,或者建立一個新檔案 格式:open(檔名,訪問模式) 示例: file = open("D://python_f

python3 檔案操作(讀、寫)

檔案操作基本流程計算機系統分為:計算機硬體,作業系統,應用程式三部分。記憶體 存不長久 硬碟 資料的持久化 檔案操作 —— 資料持久化的一種 全棧開發:框架類 操作檔案的流程: #1. 開啟檔案,得到檔案控制代碼並賦值給一個變數 #2. 通過控制代碼對檔案進行操作 #3. 關閉檔案coding:檔案操作習慣

python3基礎:檔案操作

相對路徑和絕對路徑 相對路徑:顧名思義就是相對於當前檔案的路徑。網頁中一般表示路徑使用這個方法。 絕對路徑:絕對路徑就是主頁上的檔案或目錄在硬碟上真正的路徑。 比如 c:/apache/cgi-bin 下的,那麼 c:/apache/cgi-bin就是cgi-bin目錄的絕對路徑 檔

《Java》Java“檔案操作”實際應用

一、任務目標 1.完成一個java application應用程式,判別指定路徑下指定檔名的檔案是否存在。如果指定檔案存在,讀取並分別顯示其修改時間和檔案大小等屬性。 2.以文字方式開啟某一指定路徑指定檔名的文字檔案,讀取其內容並顯示。 3.以文字方式向某一指定路徑指定檔名的文字檔案寫入

7 檔案操作 綜合應用

7.1 檔案操作介紹 使用檔案的目的:就是把一些儲存存放起來,可以讓程式下一次執行的時候直接使用,而不必重新制作一份,省時省力 7.2 檔案的開啟和關閉 f = open('test.txt', 'w') f.close() 7.3 檔案的讀寫

使用python實現RSA加解密演算法(包含讀取檔案操作),檔案內容為16進位制字串,同時實現對學號姓名的加密——(SCU應用密碼學實驗)

#-*- coding:UTF-8 -*- ''' time: 2018-5-30 content:RSA python 3.6 mac os ''' from random import randint import random im

檔案操作練習之統計目錄大小

給定一個目錄,編寫函式,遞迴呼叫統計其大小。 import os file_size = 0 def count_size(dir_path): global file_size # 宣告全域性變數 file_lists = os.listdir(dir_path) #

python3中的檔案操作

開啟檔案open()函式 引數主要為:1、檔案路徑(可相對路徑或者絕對路徑)                       2、開啟的模式 R 為讀模式 W 為寫模式&nb

python3隨筆-目錄及檔案操作

列出所有目錄及檔案 from pathlib import Path srcPath = Path('../src/') [x for x in srcPath.iterdir() if srcPath

python3.6 操作.csv .txt .excel 檔案的方法

1.讀取.csv檔案 (1)匯入模組  Import csv 2.讀取.excel檔案可以使用openpyxl開源專案,首先需要安裝openpyxl模組 (1)線上安裝     pip3 install openpyxl (2)下載後安裝 &nb

Python練習_檔案操作_day8

1. 1.作業 1,有如下檔案,a1.txt,裡面的內容為: 老男孩是最好的學校, 全心全意為學生服務, 只為學生未來,不為牟利。 我說的都是真的。哈哈 分別完成以下的功能: a,將原檔案全部讀出來並列印。 b,在原檔案後面追加一行內容:信不信由你,反正我信了。 c,將原檔案

Python3檔案的簡單操作

首先介紹一下什麼叫做相對路徑和絕對路徑,我們程式狗家族想必都是懂這個的,但是難免會有童鞋忘記。所以碼出來供大家快速回憶一下。 相對路徑 相對路徑是相對於檔案當前的工作路徑而言的 絕對路徑

Python3.4操作檔案目錄(Windows下)

    程式語言對檔案系統的操作是一項必不可少的功能,各種程式語言基本上都有對檔案系統的操作,最簡潔的莫過於linux裡面shell的操作了,其次,則是python,ruby等動態語言的操作,那麼,今天散仙來看下,在p

python 檔案操作練習

1. 檔案a.txt內容:每一行內容分別為商品名字,價錢,個數。 apple 10 3 tesla 100000 1 mac 3000 2 lenovo 30000 3 chicken 10 3 通過程式碼,將其構建成這種資料型別:[{'name':'apple','price':10,

Python練習(九)——面向物件,檔案操作與資料庫操作

面向物件,檔案操作與資料庫操作複習題目: 檔案score.dat中儲存的是100名學生的姓名和Python課、高數和英語成績。 (1)定義學生類,其中包含姓名、Python課、高數和英語成績及總分、均分資料成員,成員函式根據需要確定。 (2)讀入這名學