Python讀取了txt,那怎麼計算裡面txt裡的資料?

時間 2021-06-13 14:09:05

1樓:錦恢

這個問題只要使用eval()函式就可以啦。(`ω)例如:就拿題主的問題來說吧。

Python讀取檔案的方式是一行一行讀取的,所以我們只需要獲取「1+1」這個字串,再對它使用eval()函式就可以啦。

我們的demo.txt:

程式:txt

=open

("demo.txt"

,"r").

read

()# 全部讀入

txt.

strip("

\n")# 去除回車鍵

result

=eval

(txt

)# 這就是計算結果,是數字

print

(txt

+"="

+str

(result

))# 要將數字轉化成str物件才能使用+連線執行結果:

那如果是若干行那?比如這樣?

那也沒關係,加乙個迴圈完事兒:

# 之前好像忘了說了,Python中使用open建立的檔案流物件是可以迭代的

# 所以直接使用迭代器遍歷

forformula

inopen

("demo.txt"

,"r"

):# 此處使用切片操作來去除回車鍵

# 當然,為了防止最後沒有回車誤去除最後乙個數字,咱們加乙個判斷formula

=formula[:-

1]ifformula[-

1]=='

\n'else

formula

# 其餘如法炮製即可

result

=eval

(formula

)print

(formula

+"="

+str

(result

))執行結果:

希望您明白了(`ω)

2樓:喳 小銘

我的方法是,在讀取文字內容後再進行處理。

string.txt 中內容(注意最後的空行):

1+11*2

3-41+(2*5)

(這裡有空行)

處理文字的指令碼,script.py:

# 讀取文字

with

open

("string.txt"

,"r")as

f:l=

f.readlines

()print(l

)"""

['1+1

\n', '1*2

\n', '3-4

\n', '1+(2*5)

\n']

"""# 計算表示式並輸出

foriinl

:print("

%s=%s"

%(i[:

-1],eval(i

[:-1])))

"""1+1=2

1*2=2

3-4=-1

1+(2*5)=11

"""不知是否符合你的要求。

python怎麼鎖死開啟txt?

艾歐尼亞 本文摘自django檔案模組,因為平時這個東西比較冷門,我也是偶爾翻到的,因此摘出來,供後續使用 Example Usage with open file wb as f locks.lock f,locks.LOCK EX f.write test import os all LOCK ...

Python怎麼合併兩個GB級別的txt檔案?

burning 還是建議你直接用cat命令比較實在,方便快捷!但是如果你一定想要使用python的話,我可以提供下我的幾個思路,僅供參考!1.直接迴圈乙個檔案,追加到另乙個檔案後面,但是會很慢 2.使用pandas,直接merge,但是記憶體占用會很大 3.在基於第一點的方法上,使用多執行緒 最後還...

怎麼用python統計乙個txt檔案中的三個中文名字出現的次數?

coder 謝公子 import re text open text.txt r read name 張飛 關羽 劉備 for i in name result re.findall i,text print i,出現了 d次 len result z666 text open 路徑,encodin...