《Python参考手册(第4版•修订版)》——1.4 文件输入和输出
本節書摘來自異步社區《Python參考手冊(第4版?修訂版)》一書中的第1章,第1.4節,作者David M. Beazley,更多章節內容可以訪問云棲社區“異步社區”公眾號查看。
1.4 文件輸入和輸出
以下程序可打開一個文件并逐行讀取該文件的內容:
f = open("foo.txt") # 返回一個文件對象 line = f.readline() # 調用文件的readline()方法 while line:print line, # 后面跟','將忽略換行符# print(line,end='') # 在Python 3中使用line = f.readline() f.close()open()函數返回一個新的文件對象。調用該對象的方法可以執行各種文件操作。readline()方法讀取一行內容,包括結尾的換行符在內。讀至文件結尾時將返回空字符串。
在這個例子中,程序只是循環讀取了文件foo.txt中的所有行。如果程序在像這樣的數據集(如輸入中的行、數字、字符串等)上進行循環,那么這通常就稱為迭代。因為迭代是很常見的一種操作,所以Python為其提供了一條專用語句for,用于迭代內容項。例如,同樣的程序可以寫成下面這種更簡潔的形式:
for line in open("foo.txt"):print line,要將程序的輸出寫入一個文件中,需要在print語句后面使用>>指定一個文件,如下所示:
f = open("out","w") # 打開文件以便寫入 while year <= numyears:principal = principal * (1 + rate)print >>f,"%3d %0.2f" % (year,principal)year += 1 f.close()>>語法只能用在Python 2中。如果使用Python 3,可將print語句改為以下內容:
print("%3d %0.2f" % (year,principal),file=f)
另外,文件對象支持使用write()方法寫入原始數據。例如,前一例子中的print語句也可以寫成下面這樣:
f.write("%3d %0.2f\n" % (year,principal))
盡管這些例子處理的都是文件,但同樣的技巧也適用于標準的解釋器輸出流和輸入流。例如,如果想交互式地讀取用戶輸入,可以從文件sys.stdin中讀取。如果要將數據輸出到屏幕上,可以寫入文件sys.stdout中,這與在輸出print語句所生成數據時所用的文件是同一個文件。例如:
import sys sys.stdout.write("Enter your name :") name = sys.stdin.readline()在Python 2中,這段代碼還可以簡化為:
name = raw_input("Enter your name :")
在Python 3中,raw_input()函數叫做input(),但它們的工作方式完全相同。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的《Python参考手册(第4版•修订版)》——1.4 文件输入和输出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 崩坏3作战凭证升级方法介绍 崩坏3作战凭
- 下一篇: 19999 元起,雷蛇 2023 款灵刃