首先,抱歉这个简单的问题。我知道这些问题非常基本。我需要在Python 2.7中保存一个包含多行的txt文件。我需要提出一些建议来改进我的基本代码。
这是一个基本的例子
file_out = open("..//example//test.text", "w")
for p in range(10):
ID = str(p)
A = p*10
B = p+10
C = p-10
D = p+p
E = p*2
file_out.write("s% %s %s %s s% s%" % (ID,A,B,C,D,E)+ "\n")
file_out.close()
我的问题是:
我有这个错误信息,我找不到解决方法
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
ValueError: incomplete format
我要保存的元素(例如:ID,A,B,C,D,E)是几个(30个元素),并且 我用了很长的s%。有一种优雅的方式和紧凑的代码 这条线?
我也想保存一个头(例如:ID,A,B,C,D,E)。什么是最好的方法 这样做?
答案 0 :(得分:3)
ValueError:格式不完整
您将%s
格式的一半写为s%
。百分号首先出现。
我保存的元素(例如:ID,A,B,C,D,E)是几个(30个元素),我使用了一长串的s%。是否有一种优雅的方式和紧凑的代码这条线?。
' '.join(str(x) for x in [p, p*10, p+10, p-10, p+p, p*2])
答案 1 :(得分:1)
答案 2 :(得分:1)
你有一个错字
file_out.write("%s %s %s %s %s %s" % (ID,A,B,C,D,E)+ "\n")
或
file_out.write("%s %s %s %s %s %s\n" % (ID,A,B,C,D,E))
或
file_out.write(" ".join(["%s" %i for i in [A, B, C, D, E]]))
答案 3 :(得分:1)
您有一些语法错误。检查格式化字符串。
file_out = open("..//example//test.text", "w")
for p in range(10):
ID = str(p)
A = p*10
B = p+10
C = p-10
D = p+p
E = p*2
file_out.write("%s %s %s %s %s %s" % (ID,A,B,C,D,E) + "\n")
file_out.close()