Python—如何写入文本文件中的特定位置(列)

Python—如何写入文本文件中的特定位置(列),python,Python,我的程序中有以下字段,我想将它们写入特定位置或列中的文本文件, 在第1栏说出ID,在第10栏说出姓名,在第30栏说出电子邮件 我试着用 fhand = open('test.txt','w') id,name,email = 1,'abc','abc@email.com' id1,name1,email1 = 2,'adfadsfbnn','addbnn@email.com' fhand.write('%s %10s %30s \n' %(id,name,email) ) fhand.w

我的程序中有以下字段,我想将它们写入特定位置或列中的文本文件, 在第1栏说出ID,在第10栏说出姓名,在第30栏说出电子邮件

我试着用

fhand = open('test.txt','w')    
id,name,email = 1,'abc','abc@email.com'
id1,name1,email1 = 2,'adfadsfbnn','addbnn@email.com'
fhand.write('%s %10s %30s \n' %(id,name,email) )
fhand.write('%s %10s %30s \n' %(id1,name1,email1) )
fhand.close()

test.txt file contains,
1        abc                  abc@email.com 
2 adfadsfbnn               addbnn@email.com 
数据没有打印在正确的位置,我不希望字符串是正确的..我希望 字符串将分别从第10、30位开始打印。非常感谢您的帮助。谢谢


格式规范中的数字是字段宽度,而不是列编号。如果数字前面有减号,则该字段将左对齐,因此请尝试:
'%-9s%-19s%s\n'
查看您的格式字符串。给我们一个文本文件中特定列的示例。非常感谢。这很有效!!谢谢..我希望字符串保持对齐。。fhand.write(“%s%-50s%-80s\n%”(id,名称,电子邮件))fhand.write(“%s%-50s%-80s\n%”(id1,名称1,电子邮件1))
fhand = open('test.txt','w')
id,name,email = 1,'abc','abc@email.com'
id1,name1,email1 = 2,'adfadsfbnn','addbnn@email.com'
fhand.write('%s %+50s %+80s \n' % (id,name,email))
fhand.write('%s %+50s %+80s \n' % (id1,name1,email1))
fhand.close()