網(wǎng)站首頁 編程語言 正文
1、操作步驟
(1)打開文件讀取整個文件
函數(shù)open返回一個表示文件的對象,對象存儲在infile中。關(guān)鍵字with在不需要訪問文件時將其自動關(guān)閉。讀取出的內(nèi)容以字符串形式保存在data1/data2里
(2)第一種:讀取所有行 infile.readlines()
(3)第二種:每行分開讀取 for循環(huán) line.strip("\n").split()
(4)第三種:每個字符分開讀取 for循環(huán)-for循環(huán)
(5)讀取文本文件時,python將其中的所有文本都解讀為字符串str。如果讀取的是數(shù)字,并要將其作為數(shù)值使用,就必須使用函數(shù)int()將其轉(zhuǎn)化為整數(shù)。或使用float()將其轉(zhuǎn)換為浮點數(shù)。
2、代碼實現(xiàn)
def read_txt(inputpath, outputpath):
with open(outputpath, 'w', encoding='utf-8') as file:
with open(inputpath, 'r', encoding='utf-8') as infile:
# 第一種:讀取所有行
#data1 = infile.readlines()
#print(data1)
# 輸出:['1 2 3 4 5\n', '6 7 8 9 10']
# 第二種:每行分開讀取
data2 = []
for line in infile:
data_line = line.strip("\n").split() # 去除首尾換行符,并按空格劃分
print(data_line)
data2.append([int(i) for i in data_line])
print(data2)
# 輸出:[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
# 第三種:每個字符分開讀取
data = data2
for i in range(len(data2)):
for j in range(len(data2[i])):
data[i][j] = str(data2[i][j])
print(data)
# 輸出:[['1', '2', '3', '4', '5'], ['6', '7', '8', '9', '10']]
# 寫入方法
for line in data2:
# data = '' + '\t'.join(str(i) for i in line) + '\n' # 用\t隔開
data = '' + ' '.join(str(i) for i in line) + '\n' # 用空格隔開
file.write(data)
if __name__ == "__main__":
input_path = '1.txt'
output_path = '2.txt'
read_txt(input_path, output_path)
如果有報錯
改為絕對路徑即可注意符號是 /??
路徑問題?
' '是相對調(diào)用(在當(dāng)前目錄尋找文件名)?
" "是絕對調(diào)用,要寫入絕對路徑
函數(shù)說明
spilt()函數(shù)實際上就是讀取到什么就按照那個作為下一個分割的信號
strip()用來除掉首尾需要的字符
數(shù)據(jù)處理
比如說txt里有,
可以直接用記事本打開用空格替換所有,即可
然后使用.spilt即可
原文鏈接:https://blog.csdn.net/weixin_50920579/article/details/124181032
相關(guān)推薦
- 2022-06-02 Apache?Pulsar結(jié)合Hudi構(gòu)建Lakehouse方案分析_服務(wù)器其它
- 2022-08-29 .NET?Core項目使用swagger開發(fā)組件_實用技巧
- 2022-09-13 C++?static詳解,類中的static用法說明_C 語言
- 2022-08-07 Go?Grpc?Gateway兼容HTTP協(xié)議文檔自動生成網(wǎng)關(guān)_Golang
- 2022-05-20 Kafka 認(rèn)證登錄注意事項
- 2023-02-06 Python類中__init__()?和self的詳細(xì)解析_python
- 2022-05-14 Centos8安裝docker報錯(錯誤提示:All?mirrors?were?tried)的問題_
- 2022-10-22 Redisson?主從一致性問題詳解_Redis
- 最近更新
-
- 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)程分支