如何在文件中的备用行上操作

2024-04-29 22:57:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何在文件中的备用行上进行操作(特别是我有一个文本,由一个常规行和一个向后写入的行组成,我将使用[:-1]反转)。我将从一个例子开始:

Easter eggs,
,eulb dna wolleY
Easter eggs,
.uoy dna em roF


Easter eggs,
,teews ydnaC
Easter eggs,
.tae ot doog erA

我想要:

Easter eggs,
Yellow and blue,
Easter eggs,
For me and you.


Easter eggs,
Candy sweet,
Easter eggs,
Are good to eat.

我该怎么做?因为我希望能够使用空行(新行中的一行或多行,即“\t”)完成此操作,如示例中所示。所有这些都是通过滚动文件实现的。 谢谢

编辑:为@Mr.Hobo 错误在最后一段

ἄνδρα μοι ἔννεπε, μοῦσα, πολύτροπον, ὃς μάλα πολλὰ
πλάγχθη, ἐπεὶ τροίης ἱερὸν πτολίεθρον ἔπερσεν:
πολλῶν δ' ἀνθρώπων ἴδεν ἄστεα καὶ νόον ἔγνω,
πολλὰ δ' ὅ γ' ἐν πόντῳ πάθεν ἄλγεα ὃν κατὰ θυμόν,
ἀρνύμενος ἥν τε ψυχὴν καὶ νόστον ἑταίρων.


ἀλλ' οὐδ' ὣς ἑτάρους ἐρρύσατο, ἱέμενός περ:
αὐτῶν γὰρ σφετέρῃσιν ἀτασθαλίῃσιν ὄλοντο,
νήπιοι, οἳ κατὰ βοῦς ὑπερίονος ἠελίοιο
ἤσθιον: αὐτὰρ ὁ τοῖσιν ἀφείλετο νόστιμον ἦμαρ.
τῶν ἁμόθεν γε,
θεά θύγατερ,
διός, εἰπὲ καὶ ἡμῖν.

,νορθελὄ νὺπἰα νογύφ ιοσὅ ,ςετνάπ νὲμ ιολλἄ 'θνἔ
νασσαλάθ ὲδἠ ςετόγυεφεπ ετ νόμελόπ ,νασἔ ιοκἴο
,ςὸκιανυγ ὲδἠ νονέμηρχεκ υοτσόν νοἶο 'δ νὸτ
νωάεθ αῖδ ὼψυλακ εκυρἔ 'ιντόπ ηφμύν
.ιανἶε νισόπ ηνέμοιαλιλ ,ισῖορυφαλγ ισσέπσ νἐ

Tags: and文件文本eggs常规例子dna行上
2条回答

使用readline和while循环

f = open("demofile.txt", "r")
lines = f.readlines();
I = 0 # start lines index
Result = ""
while I < len(lines):
    line = lines[I]
    # start index if 0 so every reverse line will have odd index (1, 3, 5 etc).
    if not I % 2 == 0:
        Result += line.strip()[::-1] + '\n'
        I += 1
        continue
    Result += line
    I += 1

print(Result)

假设在file.txt中有文本,则可以执行以下操作:

with open("file.txt") as f:
    content = f.readlines()
    
content = [value.strip()[::-1] if idx % 2 != 0 else value.strip() for idx, value in enumerate(content)]
print(content)

>> ['Easter eggs,', 'Yellow and blue,', 'Easter eggs,', 'For me and you.', '', '', 'Easter eggs,', 'Candy sweet,', 'Easter eggs,', 'Are good to eat.']

解释:我正在读取文件as suggested in this community question,然后枚举内容以检查文件索引是否可被2整除(idx % 2 != 0

编辑:如果需要换行符并希望将邮件粘贴到单个字符串中,可以执行以下操作:

print('\n'.join(content))

输出:

Easter eggs,
Yellow and blue,
Easter eggs,
For me and you.


Easter eggs,
Candy sweet,
Easter eggs,
Are good to eat.

相关问题 更多 >