我有一个包含数字的文本文件。
我需要以正确的顺序将一些数字从文件开头移到最后。
例如,原始TEXT
文件包含以下内容:0123456789
。
我需要以相同的顺序将前4个数字移到最后,所以它看起来像这样:
4567890123.
不幸的是我不知道如何用Python做到这一点, 我甚至不知道从哪里开始。
任何有关解决此问题的建议都将受到高度赞赏。
答案 0 :(得分:5)
请参阅Python教程(section "Strings";搜索“切片表示法”):
>>> a = "0123456789"
>>> b = a[4:] + a[:4]
>>> b
'4567890123'
或者你真正想做的是什么?
答案 1 :(得分:4)
可以通过a = '0123456789'
访问字符串a[i]
的各个字符,其中i=0
您获得第一个位置的字符(索引从0开始编号),因此{{ 1}}。您还可以在'0'
格式中一次提取多个字符,其中a[i:j]
是第一个字符的位置,i
是字符在最后一个字符后面的位置。如果省略j
或i
中的一个,则会从字符串的开头或结尾处取所有字符。
所以:
j
因此前4个字符为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'