簡體   English   中英

python io.open()整數必需錯誤

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM