0

以下に示すように、Python スクリプトを使用して単にファイルに書き込むことを計画している場合:

#!/usr/bin/python
count = 1
fo = open('DbCount.txt', 'w')
fo.write(str(count))
#fo.flush()
fo.close()

スクリプトと同じフォルダーに配置された Dbcount.txt ファイル (Dbcount.txt を変更しようとしている)。txtファイルに変更が見られず、インタープリターによってエラーが表示されません。非常に奇妙です。助けはありますか?

4

1 に答える 1

1

まず第一に、エラーが発生した場合でも常にファイルを閉じる with ステートメントバリアントを常に使用します。

#!/usr/bin/python
count = 1
with open('DbCount.txt', 'w') as fo:
    fo.write(str(count))

その後、'w'ファイルに書き込むたびにファイルが上書きされます。追加する場合は、 を使用します'a'

特定の問題について、スクリプトのディレクトリだけを見ましたか、それともスクリプトを呼び出している現在のディレクトリを見ましたか? コードを書いたとき、書き込むファイルのパスは、コードを実行した場所からの相対パスです。

試す:

import os
count = 1
with open(os.path.join(os.path.dirname(__file__), 'DbCount.txt'), 'w') as fo:
    fo.write(str(count))

DbCount.txt次に、スクリプトと同じパスに出力する必要があります。

于 2013-06-22T22:09:46.007 に答える