我是一个完整的Python菜鸟.如何从文件中每行的开头删除两个字符?我正在尝试这样的事情:
#!/Python26/
import re
f = open('M:/file.txt')
lines=f.readlines()
i=0;
for line in lines:
line = line.strip()
#do something here
Run Code Online (Sandbox Code Playgroud)
Amb*_*ber 80
你有一个良好的开端.在循环中尝试这个:
for line in lines:
line = line[2:]
# do something here
Run Code Online (Sandbox Code Playgroud)
[2:]被称为" 切片 "语法,它基本上说"给我这个序列的一部分,从索引2开始并继续到结尾(因为在冒号后没有指定结束点).
Grz*_*zki 21
字符串切片将帮助您:
>>> a="Some very long string"
>>> a[2:]
'me very long string'
Run Code Online (Sandbox Code Playgroud)
Ott*_*ger 10
就像提示一样,您可以将程序缩短为
for line in open('M:/file.txt'):
line = line[2:]
Run Code Online (Sandbox Code Playgroud)
如果您还需要携带行号,请使用
for i, line in enumerate(open('M:/file.txt.')):
line = line[2:]
Run Code Online (Sandbox Code Playgroud)
您可能对列表理解感到满意,而不是使用for循环:
[line[2:] for line in lines]
Run Code Online (Sandbox Code Playgroud)
就像好奇心一样,请检查cutunix工具.
$ cut -c2- filename
Run Code Online (Sandbox Code Playgroud)
-c的切片语法与python非常相似.