[英]taking a character input in python from a file?
在python中,假設我有data.txt文件。 其中有6行數據。 我想通過遍歷每個字符並找出文件中'\\ n'的數量來計算我計划執行的行數。 如何從文件中輸入一個字符? Readline占據了整行。
我認為您正在尋找的方法是readlines
,如
lines = open("inputfilex.txt", "r").readlines()
這將為您提供文件中每行的列表。 要找出多少行,您可以執行以下操作:
len(lines)
然后像使用任何普通的Python列表一樣使用索引來訪問它,例如lines[3]
或lines[-1]
。
您可以使用read(1)
讀取單個字節。 help(file)
說:
read(
size)
->讀取最多size個字節,以字符串形式返回。如果size參數為負或省略,請讀取直到達到EOF。 請注意,在非阻塞模式下,即使沒有給出size參數,返回的數據也可能少於請求的數據。
請注意,一次讀取一個字節的文件是完全“ Pythonic”的。 這是用C語言完成的課程,但是Python可以用更少的代碼來做更多的工作。 例如,您可以用一行代碼將整個文件讀入一個數組:
lines = f.readlines()
然后,您可以通過簡單的lines[lineNumber]
查找按行號進行訪問。
或者,如果您不想一次將整個文件存儲在內存中,則可以逐行對其進行迭代:
for line in f:
# Do whatever you want.
這更具可讀性和慣用性。
看來,最簡單的答案是:
for line in file:
lines += 1
# do whatever else you need to do for each line
或顯式使用readline()
的等效構造。 我不確定您為什么要在上面說readline()
正確讀取每行的全部內容時查看每個字符。
要基於文件的行訪問文件,請列出其行。
with open('myfile') as f:
lines = list(f)
然后只需訪問lines[3]
以獲取第四行,依此類推。 (請注意,這不會刪除換行符。)
linecache模塊對此也很有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.