網站首頁 編程語言 正文
前言
文本文件可用于存儲大量的數據,里面的數據對于用戶而言十分重要,因此,本文就如何利用Python實現文本內容的讀取與輸入,數據存儲與讀取進行介紹。
一、讀取文件中的數據:
首先需要找到所需文件的路徑:例如我在桌面創建了一個文本文件,它的路徑為
C:\\Users\\yu\\Desktop\\number.txt
利用函數open()打開文件,open()函數需要輸入文件的路徑,獲得路徑之后,Python將會在指定的路徑之中尋找該文件。
filename = 'C:\\Users\\yu\\Desktop\\number.txt'
with open(filename) as f:
contents = f.read()
print(contents)
實現程序如上所示,open()函數返回表示文件的對象f,f.read()將number.txt文件中的數據讀出,并賦給contents,最后顯示文本中的數據。運行結果如下:
其中number.txt中存儲的數據如下:
可知以上的程序,實現了從指定路徑的文件中讀取了文件數據?
二、將數據寫入文件中:
在上面的文本文件中寫入數據,將數據寫入文件時,需要給open()這個函數設定寫入模式,當然你也可以設成其他的模式。供選擇常用模式有以下幾種:
- 'w':寫入模式
- 'a':附加模式
- 'r':讀取模式
- 'r+':讀寫模式
在這里因為我在同一個文件中寫入數據,所以用附加模式打開文件并寫入數據,附加模式可以在寫入數據的時候,不會覆蓋之前的文件原有的內容。
filename = 'C:\\Users\\yu\\Desktop\\number.txt'
with open(filename, 'a') as f:
f.write("\n爬蟲小迷弟寫入數據")
運行之后查看原有的文本文件,結果如下:
數據的存儲與讀取與文件寫入與讀取大致類似,這里介紹一種簡單的實現方式,使用Python提供的json模塊來實現,數據的存儲與讀出。
數據的存儲:
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中的數據,結果如下:
?數據的讀出:
import json
filename = 'C:\\Users\\yu\\Desktop\\data.txt'
number = []
with open(filename, 'r+') as f:
number = json.load(f)
print(number)
文件中的數據被讀入到number這個變量中。
附:python循環保存文件并循環讀取文件
python循環保存文件并循環讀取文件
這里我以一個列表為例,每個列表是一個文件,數據來源于python自帶的新聞文本主題分類數據。
保存代碼:
#%%
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 #構造絕對路徑,"\\",其中一個'\'為轉義符
with open(position, "r",encoding='utf-8') as f: #打開文件
data = f.read() #讀取文件
x_test.append(data)
效果:
總結
原文鏈接:https://blog.csdn.net/kuwola/article/details/122321274
相關推薦
- 2022-05-22 詳解如何創建一個.NET?Core工程_實用技巧
- 2022-09-05 docker-compose啟動redis集群的實現步驟_docker
- 2022-11-30 Linux實現徹底清理空文件夾的方法詳解_linux shell
- 2022-06-26 詳解Go語言中的作用域和變量隱藏_Golang
- 2022-10-11 XGBoost與GBDT和LGBM區別
- 2023-01-26 Redis實戰之Jedis使用技巧詳解_Redis
- 2022-02-20 Android?WebView開發之WebView與Native交互_Android
- 2022-07-23 Python實現雙向鏈表基本操作_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支