2016-06-14 14 views
0

今日の日付の新しいファイルを開くときに、次のエラーが表示されます。ここでpython io.open()整数が必要なエラー

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 

が、誰かが誤って私はIOオプションを指定した理由である、os.open()代わりのio.open()を使用する場合に発生する問題であることを私の理解である私のコード

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モジュールをインポートしても、同じエラーが発生することに注意してください。

私はPythonを使用しています。3.2.5

考えですか?

+0

あなたはすでに文字列を持っていますが、どうしてフォーマットしようとしていますか? 'f = io.open(今日、 'w')'はf = io.open( "%s"%today、 'w')と全く同じことをします。 –

+0

Agh!もちろん、ありがとう! –

答えて

0

あなたは正しく書式設定していない、あなたは%の代わりに,を使用している:

f = io.open('%s'%today, 'w') 

を加えて、あなたが行うだけのことができます:

f = io.open(today, 'w') 
0

ライン = io.open F( '%s'、today、 'w') には '%s'の最初の引数が必要です。最初の引数はファイル名でなければなりません。 あなたのようにそれを書いた場合:

f = io.open(today, 'w') 

だけで動作します。私は私が参考にされている願っています

with io.open(today, 'w') as f: 
    f.write("hello world") 

:また、ストリームが近くなる例外の場合のように、など、とにかく「と」なステートメントを使用することを検討してください。

関連する問題