檔案處理個人筆記 python

2021-10-13 19:05:22 字數 4767 閱讀 4067

"一二三四五\n上山打老虎\n老虎沒大著\n打到小松鼠"

)你寫完之後指標在文字最末尾 .seek用於調整指標位子

file

.seek(0)

print

(file

.readlines())

讀寫一定要關

file

.close(

)

with

open

("test1.txt"

,"r"

,encoding=

"utf-8"

)as fp:

上面這個等價於

fp =

open

("test1.txt"

,"r"

,encoding=

"utf-8"

)fp.close

檔案的拷貝

filename =

input

("請輸入檔案的路徑:"

)# 首先判斷是否是個檔案

if os.path.isfile(filename)

:#以唯讀的方式開啟這個檔案

old_file =

open

(filename,

"r",encoding=

"utf-8"

)# a.txt

#把這個檔案的名字給拆分成2個補分

names = os.path.splitext(filename)

#新檔案的檔名 在原始檔的基礎中間+上.bak

new_file_name = names[0]

+".bak"

+names[1]

#以覆蓋寫的方式開啟新檔案

new_file =

open

(new_file_name,

"w",encoding=

"utf-8"

)#將原檔案內容寫入新檔案

new_file.write(old_file.read())

#關閉檔案

new_file.close(

) old_file.close(

)else

:print

("您輸入的檔案不存在"

)print

(os)

以二進位制寫入會更開

import os

filename =

input

("請輸入檔案的路徑:"

)# 首先判斷是否是個檔案

if os.path.isfile(filename)

: old_file =

open

(filename,

"rb"

)# a.txt

names = os.path.splitext(filename)

new_file_name = names[0]

+".bak"

+names[1]

new_file =

open

(new_file_name,

"wb"

)while

true

: content = old_file.read(

1024

) new_file.write(content)

ifnot content:

break

new_file.close(

) old_file.close(

)else

:print

("您輸入的檔案不存在"

)print

(os)

file

=open

("stock.csv"

,"r"

,encoding=

"gbk"

)datas = csv.reader(

file

)reader 返回的是乙個可迭代物件 (能用for

in 遍歷的都叫可迭代物件)

for data in datas:

print

(data)

file

.close(

)

import csv

with

open

("test2.csv"

,"w"

,encoding=

"utf-8"

,newline="")

as csv1:

如果沒有newline 會有換行

writer = csv.writer(csv1)

#csv 標題用於說明資料項的用途

headers =

["id"

,"name"

,"age"

] values =[(

"001"

,"張三",15

),("002"

,"張三",15

),("003"

,"張三",15

),]寫入一行

writer.writerow(headers)

寫入多行

writer.writerows(values)

dumps 將資料轉成json字串 不會將資料儲存到檔案中

同時寫入到指定的檔案

dumps 將資料轉成json字串 不會將資料儲存到檔案中

import json

names =

["湯姆克魯斯"

,"傑森斯坦森"

,"奧黛麗赫本"

]y = json.dumps(names)

print

(y) 返回[

"\u6c64\u59c6\u514b\u9c81\u65af"

,"\u6770\u68ee\u65af\u5766\u68ee"

,"\u5965\u9edb\u4e3d\u8d6b\u672c"

]x = json.dumps(names,ensure_ascii=

false

)print

(x) 返回[

"湯姆克魯斯"

,"傑森斯坦森"

,"奧黛麗赫本"

]當然如果不加 ensure_ascii=

false 也可以通過反序列化的方式拿到結果

y = json.loads(x)

print

(y)返回[

'湯姆克魯斯'

,'傑森斯坦森'

,'奧黛麗赫本'

]

dump 將資料轉成json字串儲存到檔案中
import json

with

open

("5.json"

,"w"

,encoding=

"utf-8"

)as fp:

json.dump(

["我"

,"w"

,"你"

,"n"

],fp,ensure_ascii=

false

)

點前目錄下出現5.json

load 讀取乙個檔案並把檔案裡的字串載入成乙個列表
import json

#with

open

("5.json"

,"w+"

,encoding=

"utf-8"

)as fp:

json.dump(

["我"

,"w"

,"你"

,"n"

],fp)

with

open

("5.json"

,"r"

,encoding=

"utf-8"

)as fp:

res = json.load(fp)

print

(res)

loads 將json字串載入為python資料型別 比如字典列表等

import json

json_str =

'[, ]'

books = json.loads(json_str,encoding=

'utf-8'

)print

(type

(books)

)print

(books)

dumps 專二進位制

dump 轉二進位制儲存到檔案中

loads 將二進位制 載入成python資料

load 讀取檔案 開啟檔案用load

spring 事務管理個人筆記

筆記 在用spring aop事務管理的時候,出現了回滾不成功而且控制台還報錯的問題,而配置檔案什麼的都是正確的,後來改了都是實現介面來獲取context,成功回滾了 不知道為什麼,試圖兩個類都用 而控制台報錯還是沒解決,不過發現我用的是故意插入錯誤的資料到資料庫才會報錯,而空指標之類的就不會,不懂...

資料處理個人總結(不斷追加)

僅作為備忘用,語無倫次,請見諒!一 資料處理前一定要做好資料清洗 採集的資料格式和label都有各種問題,直接匯入演算法中,程式會出錯,如果顯性的報錯還好辦,就怕隱性的錯誤,根本就不知道訓練的資料都不對。反正loss也在下降。很是坑啊!二 python變數取名,在同乙個域內注意不要重複使用 例如 x...

高效檔案管理 Git管理個人檔案指南

無任何前置條件的高效git個人檔案管理指南,從零到一百,只需要一篇文件!前言 你曾經被qq群檔案的不改,再也不改,永不再改,再再再再也不改支配過麼?恭喜你今天找到了拯救之道。git檔案管理與發布功能。git優勢 檔案增刪查改的追蹤 乙個強大的版本管理器。邏輯 git是一名優秀的管理者,將你分配給他的...