-1

テキストファイルに保存するデータを保存およびロードするプログラムがあります。ファイルとプログラムは同じフォルダにあります。ファイルを保存するには、プログラムが少なくとも1回実行されている必要があります。保存ファイルが作成されているかどうかを確認するために、私は次のように書きました:(その一部)

import os.path
def load_f():        
    global save_list
    if os.path.exists('Something.txt'):
        inFile = open('Something.txt', 'rb')
        save_list = inFile.read()
        inFile.close()

ファイルをロードできないようです。私が書いたパスは無効ですか。パスにフォルダ名を追加する必要がありますか?

4

3 に答える 3

3

パスのないファイル名が現在の作業ディレクトリで開かれます。

これはと同じですos.getcwd() + "/" + filename

于 2013-03-11T19:17:15.510 に答える
0

タイプミスがありますif os.path.exists('Something.txt'):。とにかく別の名前を選ぶことをお勧めしますが...:P

また、の本文を次のように変更することをお勧めifします。

with open('Something.txt', 'rb') as in_file:
  save_list = in_file.read()

これにより、ファイルを確実に閉じるためのより安全な(そしてより短い)方法が提供されます。

于 2013-03-11T19:15:18.493 に答える
-2

Pythonのイディオムは、「許可よりも許しを求める方が簡単」というものです。

try:
    with open( "Something.txt", "rb" ) as f:
        print "Something.txt contains", f.read()
except IOError:
    print "Something.txt doesn't exist! (or we couldn't open it)"
于 2013-03-11T19:20:13.790 に答える