-1

ファイルを開くのに問題がありnames.txtます。正しいディレクトリにいることを確認しました。以下は私のコードです:

import os
print(os.getcwd())
def alpha_sort():
    infile = open('names', 'r')
    string = infile.read()
    string = string.replace('"','')
    name_list = string.split(',')
    name_list.sort()
    infile.close()
    return 0
alpha_sort()

そして、私が得たエラー:

FileNotFoundError: [Errno 2] そのようなファイルまたはディレクトリはありません: 'names'

私が間違っていることについてのアイデアはありますか?

4

3 に答える 3

3

質問の本文でファイルが「names.txt」であると述べていますが、コードは「names」というファイル(「.txt」拡張子なし)を開こうとしていることを示しています。(拡張子はファイル名の一部です。)

代わりにこれを試してください:

infile = open('names.txt', 'r')
于 2013-03-09T04:08:52.053 に答える
2

補足として、Windows と mac/unix ではキャリッジ リターンの表現が異なるため (/r/n と /n など)、ファイルを開くときはユニバーサルモードを使用するようにしてください。ユニバーサル モードでは python がこれを処理するため、通常、ファイルを読み取る必要があるときは常にユニバーサル モードを使用することをお勧めします。(編集 - 読む必要があります:テキストファイル、キャメロンに感謝します)

したがって、コードは次のようになります

infile = open( 'names.txt', 'rU' ) #capital U indicated to open the file in universal mode
于 2013-03-09T04:25:26.290 に答える
1

これはその問題を解決しませんが、withファイルを開くときに使用することを検討してください:

with open('names', 'r') as infile:
    string = infile.read()
    string = string.replace('"','')
    name_list = string.split(',')
    name_list.sort()

return 0

これにより、ファイルが閉じられ、例外も処理されます。

于 2013-03-09T04:12:10.697 に答える