網(wǎng)站首頁 編程語言 正文
前言
文本文件可用于存儲大量的數(shù)據(jù),里面的數(shù)據(jù)對于用戶而言十分重要,因此,本文就如何利用Python實現(xiàn)文本內(nèi)容的讀取與輸入,數(shù)據(jù)存儲與讀取進行介紹。
一、讀取文件中的數(shù)據(jù):
首先需要找到所需文件的路徑:例如我在桌面創(chuàng)建了一個文本文件,它的路徑為
C:\\Users\\yu\\Desktop\\number.txt
利用函數(shù)open()打開文件,open()函數(shù)需要輸入文件的路徑,獲得路徑之后,Python將會在指定的路徑之中尋找該文件。
filename = 'C:\\Users\\yu\\Desktop\\number.txt'
with open(filename) as f:
contents = f.read()
print(contents)
實現(xiàn)程序如上所示,open()函數(shù)返回表示文件的對象f,f.read()將number.txt文件中的數(shù)據(jù)讀出,并賦給contents,最后顯示文本中的數(shù)據(jù)。運行結(jié)果如下:
其中number.txt中存儲的數(shù)據(jù)如下:
可知以上的程序,實現(xiàn)了從指定路徑的文件中讀取了文件數(shù)據(jù)?
二、將數(shù)據(jù)寫入文件中:
在上面的文本文件中寫入數(shù)據(jù),將數(shù)據(jù)寫入文件時,需要給open()這個函數(shù)設(shè)定寫入模式,當(dāng)然你也可以設(shè)成其他的模式。供選擇常用模式有以下幾種:
- 'w':寫入模式
- 'a':附加模式
- 'r':讀取模式
- 'r+':讀寫模式
在這里因為我在同一個文件中寫入數(shù)據(jù),所以用附加模式打開文件并寫入數(shù)據(jù),附加模式可以在寫入數(shù)據(jù)的時候,不會覆蓋之前的文件原有的內(nèi)容。
filename = 'C:\\Users\\yu\\Desktop\\number.txt'
with open(filename, 'a') as f:
f.write("\n爬蟲小迷弟寫入數(shù)據(jù)")
運行之后查看原有的文本文件,結(jié)果如下:
數(shù)據(jù)的存儲與讀取與文件寫入與讀取大致類似,這里介紹一種簡單的實現(xiàn)方式,使用Python提供的json模塊來實現(xiàn),數(shù)據(jù)的存儲與讀出。
數(shù)據(jù)的存儲:
import json
filename = 'C:\\Users\\yu\\Desktop\\data.txt'
number = [1, 2, 3, 4, 5, 6, 6]
with open(filename, 'r+') as f:
json.dump(number, f)
在文件data.txt中寫入變量number中的數(shù)據(jù),結(jié)果如下:
?數(shù)據(jù)的讀出:
import json
filename = 'C:\\Users\\yu\\Desktop\\data.txt'
number = []
with open(filename, 'r+') as f:
number = json.load(f)
print(number)
文件中的數(shù)據(jù)被讀入到number這個變量中。
附:python循環(huán)保存文件并循環(huán)讀取文件
python循環(huán)保存文件并循環(huán)讀取文件
這里我以一個列表為例,每個列表是一個文件,數(shù)據(jù)來源于python自帶的新聞文本主題分類數(shù)據(jù)。
保存代碼:
#%%
for i in range(len(X_test)):
with open("%d.txt"%(i),'w',encoding='utf-8') as f:
for j in X_test[i]:
f.write(j,)
保存效果:
讀取文件
代碼:
import os
path = "./testdata" #文件夾目錄
files= os.listdir(path) #得到文件夾下的所有文件名稱
x_test = []
for file in files: #遍歷文件夾
position = path+'\\'+ file #構(gòu)造絕對路徑,"\\",其中一個'\'為轉(zhuǎn)義符
with open(position, "r",encoding='utf-8') as f: #打開文件
data = f.read() #讀取文件
x_test.append(data)
效果:
總結(jié)
原文鏈接:https://blog.csdn.net/kuwola/article/details/122321274
相關(guān)推薦
- 2024-04-02 Centos無法獲取IP報No suitable device found for this con
- 2022-10-24 golang程序進度條實現(xiàn)示例詳解_Golang
- 2022-12-12 flutter中如何使用和擴展ThemeData實現(xiàn)詳解_Dart
- 2022-08-15 前端寫代碼的時候,不滿足條件程序停止執(zhí)行下面的程序,并彈窗提示
- 2023-07-30 使用Elementui元素動態(tài)增減表單組件
- 2022-10-20 利用Python的tkinter模塊實現(xiàn)界面化的批量修改文件名_python
- 2022-04-12 iOS?block的值捕獲與指針捕獲詳解_IOS
- 2022-10-03 Pandas中inf值替換的方法_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支