1. ホーム
  2. python

Python OSError: [Errno 22] 無効な引数です。発生と解決

2022-02-13 16:11:19

1. ファイルからデータを読み込む学習で、同じディレクトリにないfile.txtを読み込むサンプルコードを書き、実行したところ、こんなPython OSErrorが発生しました。[Errno 22] 無効な引数: error.

(1) まず、ディスク F の python_stu ファイルディレクトリの下に file.txt を読み込む file_reader.py があり、以下のようなコードになっています。

file.txtを作成します。

haha
hehe
haw haw

file_reader.py。

with open('F:\python_stu\file.txt') as file_obj:
    contents = file_obj.read();
    print(contents.rstrip());

(2)の場合、実行後にエラーが報告されます。

(3)、このエラーの原因は、ファイルを読み取ることができないため、Tracebackで報告されたエラーを見て、最後の行は、それはfile.txtを読み取ることができないことは明らかである、フロントF: \python_stuは正しい、バックの名前が変更されているかどうか、またはx0cile.txtです。

(4)、解決策は、上記のコードの最初の行を変更することができます。

with open('F:\python_stu/file.txt') as file_obj:

あるいは

with open('F:/python_stu/file.txt') as file_obj:

あるいは

with open('F://python_stu//file.txt') as file_obj:

あるいは

with open('F:\\python_stu\\file.txt') as file_obj:

その他、添付しませんが、上記の1つ目の方法は統一されていないので、使わないで統一された方法を使った方が良いですし、また、注意すべき点として、escapeされた文字がある場合があり、例えば、˶‾‾‾‾˶はエラーが報告されることがあります。

以上、勉強のお供にどうぞ!ありがとうございました。