[英]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.