Python 向文件中添加行号
我需要将行号写入python 3中已经存在的文本文件。 他们要求文本文件的前5列包含一个4位数的行号,后跟一个空格 我试图通过创建一个for循环来实现这一点,该循环读取行,并在行的开头添加一个数字1,然后增加下一行的数字,但它一直不起作用。它不断出现一个错误,说我不能在输出中连接字符串和整数 最简单的方法是什么Python 向文件中添加行号,python,Python,我需要将行号写入python 3中已经存在的文本文件。 他们要求文本文件的前5列包含一个4位数的行号,后跟一个空格 我试图通过创建一个for循环来实现这一点,该循环读取行,并在行的开头添加一个数字1,然后增加下一行的数字,但它一直不起作用。它不断出现一个错误,说我不能在输出中连接字符串和整数 最简单的方法是什么 numberedfile = open("test.txt", "r") numberedlist = numberedfile.readline() for line in num
numberedfile = open("test.txt", "r")
numberedlist = numberedfile.readline()
for line in numberedlist:
x = 1
nrline = (x + line)
x += 1
print(nrline)
numberedlist = numberedfile.readline()
numberedfile.close()
这会打印出您描述的文本模式:
with open('/etc/passwd') as fp:
for i, line in enumerate(fp):
sys.stdout.write('%04d %s'%(i, line))
如果需要就地编辑文件或支持多个文件,请尝试使用fileinput:
这会打印出您描述的文本模式:
with open('/etc/passwd') as fp:
for i, line in enumerate(fp):
sys.stdout.write('%04d %s'%(i, line))
如果需要就地编辑文件或支持多个文件,请尝试使用fileinput:
def text_行文件:
c=openfile,r
列表行数=c.readlines
c、 接近
数字=1
编号的\u列表\u行数=[]
对于列表中的i\u行:
编号的_行={0:0>4}.formatnumber++i
编号的\u行列表\u。追加编号的\u行
数字+=1
f=opennumerated_text.txt,w
对于编号为\u的\u行列表中的i:
f、 写
f、 接近
def text_行文件:
c=openfile,r
列表行数=c.readlines
c、 接近
数字=1
编号的\u列表\u行数=[]
对于列表中的i\u行:
编号的_行={0:0>4}.formatnumber++i
编号的\u行列表\u。追加编号的\u行
数字+=1
f=opennumerated_text.txt,w
对于编号为\u的\u行列表中的i:
f、 写
f、 接近
除了从0000开始的数字,而不是从0001开始的数字外,这张照片打印得非常完美。如何将其更改为从0001开始?@Emj将文本第三行的i更改为i+1。或者在第二个示例中,将+1附加到fileinput.filelineno,使其看起来像fileinput.filelineno+1,我建议使用。让我们加上一个end=以便它不会将打印“%04d%s”%f.filelineno,line,end=这张打印效果很好,除了数字从0000开始,而不是从0001开始。如何将其更改为从0001开始?@Emj将文本第三行的i更改为i+1。或者在第二个示例中,将+1附加到fileinput.filelineno,使其看起来像fileinput.filelineno+1,我建议使用。让我们插入一个end=以避免打印“%04d%s”时出现双空格。f.filelineno,line,end=Tee问题是不能将字符串连接到整数。看看这个问题,可以得到一些指导:,这会让你找到正确的方向。这是有道理的。我现在正努力让它迭代。我把它改成:nrline=strx+line,但是迭代不起作用。我把x从for循环中移出,这样它就可以进行迭代了。感谢您的帮助:Tee的问题是不能将字符串连接为整数。看看这个问题,可以得到一些指导:,这会让你找到正确的方向。这是有道理的。我现在正努力让它迭代。我把它改成:nrline=strx+line,但是迭代不起作用。我把x从for循环中移出,这样它就可以进行迭代了。感谢您的帮助:
#!/usr/bin/python
numberedfile = open("test.txt", "r")
numberedlist = numberedfile.readline()
i = 0
for lines in numberdlist:
i = i+1
print str(i) + '\t' + lines
numberdfile.close()