Python:在文本文件中剪切和粘贴数据。

0 投票
2 回答
2457 浏览
提问于 2025-04-16 10:57

我有一个文本文件,里面包含了一些数字。

我需要把文件开头的一些数字移动到文件的末尾,并且要保持它们的顺序。

比如,原始的 TEXT 文件内容是:0123456789

我想把前4个数字移动到最后,顺序不变,这样文件内容就变成:

4567890123。

可惜的是,我对用Python来实现这个操作完全没有头绪,甚至不知道从哪里开始。

如果能给我一些解决这个问题的建议,我会非常感激。

2 个回答

3

字符串 a = '0123456789' 中的每个字符都可以通过 a[i] 来访问,其中 i=0 时,你会得到第一个位置的字符,也就是 '0'。你还可以一次提取多个字符,格式是 a[i:j],这里 i 是第一个字符的位置,j 是最后一个字符后面的位置。如果你省略 ij 中的一个,它会从开头取到字符串的结尾。

所以:

a[0] = a[0:1] = a[:1] = '0'
a[1] = a[1:2] = '1'
a[4] = a[4:5] = '4'
a[0:3] = a[:3] = '012'
a[3:5] = '34'
a[4:] = '456789'

前四个字符是 a[:4],剩下的部分是 a[4:]。现在你可以把它们拼接在一起:

a[4:] + a[:4]

这样就会返回

'4567890123'

要读取文件,你需要以读取模式打开它,并使用第一行,去掉任何空格或换行符:

with open('filename.txt', 'r') as f:
    line = f.readline().strip()
    print(line[4:] + line[:4])
5

可以查看Python的教程,特别是“字符串”这一部分(点击这里,然后搜索“切片表示法”)。

>>> a = "0123456789"
>>> b = a[4:] + a[:4]
>>> b
'4567890123'

或者,你其实想要做的是什么呢?

撰写回答