我正在尝试设置一个等于输入文件行中最后6个字符的变量。使用下面的代码我试图这样做,但我不知道这样做的语法,我得到一个语法错误。感谢。
for line in f:
x = line[......$]
以下是具体错误:
File "bettercollapse.py", line 15
x = line[......$]
^
SyntaxError: invalid syntax
答案 0 :(得分:1)
您可以slicing作为
执行此操作for line in f:
x = line[-6:]
否定索引从字符串末尾访问第n个(此处为第6个)元素。
该列后面没有任何内容,这意味着它会一直持续到字符串结尾。
这就是从-6
到end
字符串,最后6
元素的元素。
示例强>
>>> string = "asdfasdfqwerqwerqwer"
>>> string[-6:]
'erqwer'
注意强>
它会计算文件中可能包含的\n
。因此,为了安全起见,for
循环可以写为
>>> with open('test', 'r') as input_file:
... for line in input_file:
... print line[-7:-1]
...
erqwer
>>>
旧版本将是
>>> with open('test', 'r') as input_file:
... for line in input_file:
... print line[-6:]
...
rqwer
答案 1 :(得分:0)
Regexps不是正确的工具; slicing is
for line in f:
print(line[-6:]) # print last 6 characters of line