[英]How to extract text, line by line from a txt file in python
我有一個這樣的txt文件:
audi lamborghini
ferrari
pagani
當我使用這段代碼時:
with open("test.txt") as inp:
data = set(inp.read().split())
這提供的數據為: ['pagani', 'lamborghini', 'ferrari', 'audi']
我想要的是從txt文件中提取文本,逐行輸出數據
['audi lamborghini','ferrari','pagani']
怎么做到這一點?
data = inp.read().splitlines()
你可以做到
data = inp.readlines()
要么
data = list(inp)
但后兩者會在每一行留下換行符,這往往是不可取的。
請注意,由於您關心訂單,因此不建議將字符串放入任何類型的set
中 - 這會破壞訂單。
因為文件對象是可迭代的,所以你可以這樣做:
with open("test.txt") as inp:
data = list(inp) # or set(inp) if you really need a set
( 文件參考 )
或者,更詳細(使用列表理解,您也可以刪除尾隨換行符):
with open("test.txt") as inp:
data = inp.readlines()
或(不是非常Pythonic ,但給你更多的控制):
data = []
with open("test.txt") as inp:
for line in inp:
data.append(line)
您可以嘗試使用readlines命令返回列表。
with open("test.txt") as inp: data = set(inp.readlines())
在做的情況下。
data = set(inp.read().split())
您首先將整個文件作為一個字符串(inp.read())讀取,然后您使用split()導致字符串在空格上分割。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.