Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在文件中的备用行上操作_Python_File_Line - Fatal编程技术网

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

Python 如何在文件中的备用行上操作,python,file,line,Python,File,Line,我想知道如何在文件中的备用行上进行操作(特别是我有一个文本,由一个常规行和一个向后写入的行组成,我将使用[:-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 y

我想知道如何在文件中的备用行上进行操作(特别是我有一个文本,由一个常规行和一个向后写入的行组成,我将使用[:-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 错误在最后一段

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


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

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

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

打开(“file.txt”)作为f:
content=f.readlines()
content=[value.strip()[::-1]如果idx%2!=0,则idx的值为.strip(),枚举中的值(content)]
打印(内容)
>>[“复活节彩蛋”,“黄色和蓝色”,“复活节彩蛋”,“给我和你”,“复活节彩蛋”,“糖果糖”,“复活节彩蛋”,“都很好吃。”]
解释:我正在读取文件,然后枚举内容以检查文件索引是否可被2整除(
idx%2!=0

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

print('\n'.join(内容))
输出:

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


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

使用readline和while循环

f=open(“demofile.txt”、“r”)
行=f.readlines();
I=0#起始线索引
Result=“”
而I
您面临的问题是什么?你能把你试过的代码发出来吗?当时我刚刚形成了想法,但由于经验不足,我想知道是否有一种“简单”的方法可以做到这一点。我曾想过为行设置一个计数器(显然,首先使用“if”来查看行是以字符开头还是为空):此计数基于偶数行。空行在输出中是否重要?简单方法:
for is_reversed,line in zip(itertools.cycle((False,True)),fileobj):if is_reversed:line=line.rstrip(‘n’)[[::-1′+'\n′/代码>“死机”,我猜OP想在他提到的情况下独立地行空白!”,它不再工作了。我该怎么办?@orsettomorbido你能分享你得到的错误/输出吗?我能得到两行空白,就像我分享的
输出中的一样。我编辑了这个问题,这样你就可以看到它给了我什么问题。我认为它给了错误,因为只有空格时奇偶行交换。事实上,我应该d只旋转偶数行(但不计算空格,因为偶数行和奇数行不时交换)。我不知道为什么,但我尝试运行它,结果它卡在了一个循环中。特别是,它使我在“继续”时崩溃。它现在应该可以工作了。我不小心忘记增加i,但它仍然无法工作:(新编辑:现在可以了,之前我用手机回答,这就是为什么我不小心用了readline()而不是readlines(),谢谢,现在可以了,但是如果在几个段落后只有一个空行(而不是示例中的两个空行),这会给我带来一个问题).也就是说,它反转偶数行,使奇数行保持旋转