Python:在文本文件中剪切和粘贴数据。
我有一个文本文件,里面包含了一些数字。
我需要把文件开头的一些数字移动到文件的末尾,并且要保持它们的顺序。
比如,原始的 TEXT
文件内容是:0123456789
。
我想把前4个数字移动到最后,顺序不变,这样文件内容就变成:
4567890123。
可惜的是,我对用Python来实现这个操作完全没有头绪,甚至不知道从哪里开始。
如果能给我一些解决这个问题的建议,我会非常感激。
2 个回答
3
字符串 a = '0123456789'
中的每个字符都可以通过 a[i]
来访问,其中 i=0
时,你会得到第一个位置的字符,也就是 '0'
。你还可以一次提取多个字符,格式是 a[i:j]
,这里 i
是第一个字符的位置,j
是最后一个字符后面的位置。如果你省略 i
或 j
中的一个,它会从开头取到字符串的结尾。
所以:
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'
或者,你其实想要做的是什么呢?