20

ファイルを読み取って単語を検索し、ファイル内でその単語が何回見つかったかを出力する簡単なプログラムを作成しようとしています。「test.rtf」(ドキュメントの名前) と入力するたびに、次のエラーが表示されます。

Traceback (most recent call last):
  File "/Users/AshleyStallings/Documents/School Work/Computer Programming/Side Projects/How many? (Python).py", line 9, in <module>
    fileScan= open(fileName, 'r')  #Opens file
FileNotFoundError: [Errno 2] No such file or directory: 'test.rtf'

前学期の授業で、教授がファイルを特定の場所に保存する必要があると言ったのを覚えていますか? 彼が本当にそう言ったかどうかは定かではありませんが、私は Apple OSx を実行しています。

私のコードの重要な部分は次のとおりです。

fileName= input("Please enter the name of the file you'd like to use.")
fileScan= open(fileName, 'r')  #Opens file
4

8 に答える 8

4

良いスタートは、入力を検証することです。つまり、次のように、ユーザーが実際に存在するファイルの正しいパスを入力したことを確認できます。

import os
fileName = input("Please enter the name of the file you'd like to use.")
while not os.path.isfile(fileName):
    fileName = input("Whoops! No such file! Please enter the name of the file you'd like to use.")

これは、標準 Python ライブラリの一部である組み込みモジュールosの助けを借りて作成されています。

于 2013-07-15T16:27:15.480 に答える
0

最初にファイル形式を確認します (例: .txt、.json、.csv など)。

ファイルが PWD に存在する場合は、ファイルの名前と、ファイル形式を一重 ('') または二重 ("") 引用符で囲み、必要に応じて適切な操作モードを指定します。

例えば:

with open('test.txt','r') as f: data=f.readlines() for i in data: print(i) ファイルが他のディレクトリに存在する場合は、ファイルが存在する場所のフルパス名とファイル名を、ファイルのファイル形式とともに、一重引用符 ('') または二重引用符 ("") のいずれかで指定し、適切な操作モードを指定します。あなたの条件として。

Unicode エラーが表示されている場合は、ファイル パスの引用符の前に r を入力するか、'' の代わりに '/' を入力します。

with open(r'C:\Users\soman\Desktop\test.txt','r') as f: data=f.readlines() for i in data: print(i)

于 2021-11-03T07:08:38.150 に答える