この記事では主にPythonの学習メモのopen()関数でファイルパスを開いた時のエラー報告の問題を紹介し、参考にさせていただきます。一緒に見てみましょう
ファイル読み取りモードでファイル オブジェクトを開くには、Python の組み込み open() 関数を使用し、ファイル名と識別子を渡します。識別子「r」は読み取りを意味します。
>>> f = open('D:/test.txt','r')
Python を初めて使用する学生の場合は、open() 関数には小さな落とし穴があり、見つけるのが非常に難しいことに注意してください。
エラーのデモンストレーション:
>>> f = open('D:\test.txt','r') Traceback (most recent call last): File"<ipython-input-56-6a0acaf613c9>", line 1, in <module> f =open('D:\test.txt','r') OSError: [Errno 22] Invalid argument: 'D:\test.txt'
何も問題はないようですが、まったく同じです!よく見てください。スラッシュの方向が異なります。なぜこのようなことが起こるのでしょうか? Windows のシステム ファイル パスのスラッシュ記号が '' であるためです。
これは、文字内で特殊文字を使用する必要がある場合、Python はバックスラッシュ '' を使用して文字をエスケープするため、エラーの場合の '' がエスケープ文字として使用され、解釈が行われます。サーバーによって解釈されたファイル パスが間違っています。
これを修正するには 2 つの方法があります。1 つは、「」の方向を「/」に反転することです。これは、テキストの先頭を記述する正しい方法です。2 つ目は、エスケープ文字を含む文字列の前に「r」を追加します。エスケープせずに元の意味に従って文字列を表現します。 (推奨!)
>>> f = open(r'D:\test.txt','r')
次も添付:
エスケープ文字表
エスケープ文字 |
説明 |
(行末) |
行継続文字 |
\ |
バックスラッシュ記号 |
' |
一重引用符 |
" |
二重引用符 |
a |
リング |
b |
バックスペース |
e |
以上がPython 学習メモ: open() 関数がファイル パスを開いてエラーを報告するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。