[英]how to read a specific line and print a specific position in this line using python
[英]Read Specific line and ignore others using python
我有一個這樣的文本文件:
input file
yuorvsdsd
dfdsfsd
?dsfsdfsd
sdfsdfs
?dfd
ds
我正在嘗試使其僅讀取以?
開頭的行?
。 readlines
函數讀取所有行,因此我對其施加了條件,但我對它不滿意,因為它沒有向我顯示准確的結果。 我希望output
為:
?dsfsdfsd
?dfd
程序
fp = open("file.txt")
z = fp.readlines
if z=='?':
print z
fp.close()
這是我嘗試過的代碼。
我將使用以下內容:
with open("file.txt") as fp:
for line in fp:
if line.startswith('?'):
print line
通過使用上下文管理器( with ... as
),在完成處理后,文件自動關閉。
列表理解使這一過程變得簡單:
filtered = [line for line in fp.readlines() if line.startswith("?")]
我想我會使用生成器表達式:
(line for line in open('file.txt') if line.startswith('?'))
一個完整的程序如下所示:
lines = (line for line in open('file.txt') if line.startswith('?'))
print ''.join(lines)
這行不通嗎?
with open("file.txt") as fin:
for line in fin:
if not line.startswith('>'):
print line
另外,您是否可以不首先通過grep
傳遞它?
另外,您可以使用line[0]
獲取每行的第一個字符。
with open("file.txt") as fp:
for line in fp:
if line[0] == '?':
print line
這是可能的,因為Python中的String可以被索引。 像C一樣,Python的String以索引0
開頭。 line[0]
將為您提供索引0處的字符,這是第一個字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.