如何在Python 中讀取檔案而不保留換行符
在Pythonname 中,使用open(filename, 'r') 讀取取文件。 readlines() 提供末尾帶有換行符的字串列表。在某些情況下,這種行為可能是不受歡迎的。本文探討了幾種讀取不含換行符號的檔案的方法。
方法1:使用str.splitlines()
此方法將整個檔案讀取為字串,並使用str.splitlines() 函數將其拆分為單獨的行。結果為不含換行符的字串清單:
temp = file.read().splitlines()
方法2:手動剝離換行符
如果首選清單理解和切片方法,則使用以下方法可以使用:
temp = [line[:-1] for line in file]
但是,此解決方案假設檔案以換行符。否則,最後一行將會失去最後一個字元。
方法3:在文件末尾添加換行符
為了避免丟失最後一個字符,可以在文件末尾添加換行符在讀取之前添加到文件末尾:
with open(the_file, 'r+') as f: f.seek(-1, 2) if f.read(1) != '\n': f.write('\n') f.flush() f.seek(0) lines = [line[:-1] for line in f]
方法4:使用rstrip()
此方法提供了手動剝離換行符的替代方法:
[line.rstrip('\n') for line in file]
方法5:使用條件切片
儘管可讀性較差,但該方法利用了或的布爾求值運算符:
[line[:-(line[-1] == '\n') or len(line)+1] for line in file]
注意: Python 中的readlines() 方法會在傳回的字串清單中維護換行符,因為readline() 本身會保留它們。
以上是如何在Python中讀取沒有換行符號的檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!