[英]python io.open() integer required error
尝试使用今天的日期打开新文件时出现以下错误。
Traceback (most recent call last):
File "C:\BenPi\stacking\pi3\red_RTS\iotest.py", line 6, in <module>
f = io.open('%s',today, 'w')
TypeError: an integer is required
这是我的代码
import datetime
import io
import os
today = datetime.date.today().strftime('%m_%d_%Y')
print (today)
f = io.open('%s',today, 'w')
f.write('first line \n')
f.write('second line \n')
f.close()
据我了解,这是当有人无意中使用os.open()
而不是io.open()
时出现的一个问题,这就是我指定io选项的原因。 应该注意的是,无论我是否导入os模块,都会出现相同的错误。
我正在使用python 3.2.5
有什么想法吗?
您的格式不正确,使用的是,
而不是%
:
f = io.open('%s'%today, 'w')
此外,您可以执行以下操作:
f = io.open(today, 'w')
f = io.open('%s',today,'w')行应具有'%s'第一个参数,第一个参数必须是文件名。 如果您这样写:
f = io.open(today, 'w')
正常工作。 还可以考虑使用“ with”语句,这样在出现异常的情况下流将始终关闭,例如:
with io.open(today, 'w') as f:
f.write("hello world")
希望对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.