[英]Printing characters from a given sequence till a certain range only. How to do this in Python?
我有一個文件,其中有一系列字符。 我想讀取該文件的第二行,並且只想將該行的字符讀取到某個范圍內。
我試過這段代碼,但是,它只打印兩行中的特定字符。 並且不打印范圍。
with open ("irumfas.fas", "r") as file:
first_chars = [line[1] for line in file if not line.isspace()]
print(first_chars)
任何人都可以在這方面提供幫助嗎? 我怎樣才能給出一個范圍? 下面提到了我要打印的序列。但我想從序列的第二行開始打印字符,直到某個范圍。
IRUMSEQ ATTATAAAAATTAAAATTATATCCAATGAATTCAATTAAATTAAATTAAAGAATTCAATAATATACCCCGGGGGGATCCAATTAAAAGCTAAAAAAAAAAAAAAAAAA
您可以像切片列表一樣切片文件中的 line[1]。
你非常接近:
end = 6 # number of characters
with open ("irumfas.fas", "r") as file:
first_chars = [line[1][:end] for line in file if not line.isspace()]
print(first_chars)
我想你想要這樣的東西:
with open("irumfas.fas", "r") as file:
second_line = file.readlines()[1]
print(second_line[0:9])
readlines()
將為您提供行列表——我們對其進行索引以僅獲取第二行。 您現有的代碼將遍歷所有行(這不是您想要的)。
至於提取某個范圍,您可以使用列表切片到select從該行中您想要的字符范圍 - 在上面的示例中,它是前 10 個。
可以使用以下方法。 考慮文件包含
RANDOMTEXTSAMPLE
SAMPLERANDOMTEXT
RANDOMSAMPLETEXT
with open('sampleText.txt') as sampleText:
content = sampleText.read()
content = content.split("\n")[1]
content = content[:6]
print(content)
Output 將
SAMPLE
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.