teratail見てたら
OSError: [Errno 22] Invalid argument: '\u202aC:\Users\...(略)
みたいなエラーが出る!
助けて!
みたいな質問があった。
解決策は、「ファイルのパスが正しく無いので、正しいパスを指定し直せ。」ということになる。
質問者としては「正しいんだけど?」みたいな感想が出ると思うが、Invalid argumentの右を見て欲しい。
あなたが指定しているのは C:\Users\
ではない。
\u202aC:\Users\
を指定している。
あなたのPCには \u202aC:\Users\
なんてパスが存在しないから正しく無い。
目次
u202aってどうやって入力するんだ?
で、本題。
回答者的には、「お前はエラーメッセージも読めないのか?」としか思わないが、このu202a
はどうやって入力したのかが気になった。
質問者もu202a
を入力しようとしていないと思う。
調べたところ、プロパティから取得するとu202a
が入力できる様だ。
試してみよう。
C:\testfile.txtを作成
短い方がわかりやすいと思うので、Cドライブ直下にtestfile.txtを作成した。
ちなみに、OSはWindows10。
操作は、標準のExplorerを使用した。
Explorerで対象のファイルを選択している状態で、上にあるメニュー(ホーム)の「パスのコピー」を選択すると以下が取得できる。(u202a
は含まれない)
1 |
"C:\testfile.txt" |
次に、対象のファイルを右クリックしてプロパティを開き、「全般」タブの「場所:」の右側を頑張って選択してコピーすると以下が取得できる。(u202a
は含まれない)
1 |
C:\ |
次に、「セキュリティ」タブの「オブジェクト名:」の右側を頑張って選択してコピーすると以下が取得できる。
1 |
C:\testfile.txt |
Webに直接記載するとわからないが、秀丸に貼り付けたところ、以下の通りになった。
これで謎が解けたが、質問者はなんでこんな面倒な処理をしているんだろうか?
というか、セキュリティタブのその部分をマジマジと初めて見た。
メニューにある「パスをコピー」してからダブルクォーテーション削除した方が早いのでは?
私の場合は、上に表示されるパスをコピーしてから\を入力してファイル名をくっつけるので他人のことを言えないが、よくこんな操作を見つけたと感心してしまった。