teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

6

追記

2019/09/21 03:45

投稿

ryo-dev
ryo-dev

スコア437

title CHANGED
File without changes
body CHANGED
@@ -31,7 +31,7 @@
31
31
  ~~ファイル名に・が入っていると今回のような事になります。~~
32
32
  ~~が悪さしている事がわかったのですが解決方法がわかりません~~
33
33
  コマンドプロンプトにドラッグアンドドロップでファイルを落として指定してたんですがその際に・がなくなってパス指定されてしまってました。
34
- コマンドプロンプトがに対応していないいうことしょうか?
34
+ 手動でをつけるファイルを参照きます。
35
35
 
36
36
  ### エラー
37
37
  ```ここに言語を入力

5

追記

2019/09/21 03:45

投稿

ryo-dev
ryo-dev

スコア437

title CHANGED
File without changes
body CHANGED
@@ -28,8 +28,10 @@
28
28
 
29
29
  ### エスケープ処理が入る条件
30
30
  様々な場所にあるファイルを読み込んでみると共通点をみつけました。
31
- ファイル名に・が入っていると今回のような事になります。
31
+ ~~ファイル名に・が入っていると今回のような事になります。~~
32
- が悪さしている事がわかったのですが解決方法がわかりません
32
+ ~~が悪さしている事がわかったのですが解決方法がわかりません~~
33
+ コマンドプロンプトにドラッグアンドドロップでファイルを落として指定してたんですがその際に・がなくなってパス指定されてしまってました。
34
+ コマンドプロンプトが・に対応していないということでしょうか?
33
35
 
34
36
  ### エラー
35
37
  ```ここに言語を入力

4

追記

2019/09/21 03:44

投稿

ryo-dev
ryo-dev

スコア437

title CHANGED
File without changes
body CHANGED
@@ -29,4 +29,12 @@
29
29
  ### エスケープ処理が入る条件
30
30
  様々な場所にあるファイルを読み込んでみると共通点をみつけました。
31
31
  ファイル名に・が入っていると今回のような事になります。
32
- ・が悪さしている事がわかったのですが解決方法がわかりません・
32
+ ・が悪さしている事がわかったのですが解決方法がわかりません・
33
+
34
+ ### エラー
35
+ ```ここに言語を入力
36
+ Traceback (most recent call last):
37
+ File ".\download.py", line 12, in <module>
38
+ with open(filePath, 'r', encoding='utf-8') as f:
39
+ FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\ryoum\Downloads\新しいテキストドキュメント.txt'
40
+ ```

3

コードの編集

2019/09/21 03:07

投稿

ryo-dev
ryo-dev

スコア437

title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,17 @@
1
1
  Pythonで下のコードを書きファイルを引数から受け取った絶対パスで指定しているんですが、実行時にディレクトリを表す\がエスケープ処理されてしまい\という形になってしまいファイルが読み込めません。
2
2
  これを防ぐにはどうしたらいいですか?
3
3
  ```python
4
+ # -*- coding: utf-8 -*-
5
+ import sys
6
+
7
+ # パスが指定されているか確認
8
+ try:
9
+ filePath = sys.argv[1]
10
+ except:
11
+ print("Not File Path!")
12
+ exit()
13
+
14
+ # ファイルの存在チェック
4
15
  with open(filePath, 'r', encoding='utf-8') as f:
5
16
  for line in f:
6
17
  print(line)

2

追記

2019/09/21 03:06

投稿

ryo-dev
ryo-dev

スコア437

title CHANGED
File without changes
body CHANGED
@@ -4,4 +4,18 @@
4
4
  with open(filePath, 'r', encoding='utf-8') as f:
5
5
  for line in f:
6
6
  print(line)
7
- ```
7
+ ```
8
+
9
+ 追記
10
+ ---
11
+ **なぜエスケープ処理されるか判断したのか**
12
+ FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\ryoum\Downloads\ファイル名.txt'
13
+ エラーメッセージのパスですが、階層を変える¥の前に¥がもう一つついているので
14
+
15
+ **どういう不具合が発生するか**
16
+ \となっているため階層が変わらないためファイルが参照できない
17
+
18
+ ### エスケープ処理が入る条件
19
+ 様々な場所にあるファイルを読み込んでみると共通点をみつけました。
20
+ ファイル名に・が入っていると今回のような事になります。
21
+ ・が悪さしている事がわかったのですが解決方法がわかりません・

1

変更

2019/09/21 02:41

投稿

ryo-dev
ryo-dev

スコア437

title CHANGED
@@ -1,1 +1,1 @@
1
- Pythonでファイルを絶対パスで指定すると/がエスケープされて\となってしまい階層と認識しないためファイルが読み込めない
1
+ Pythonでファイルを絶対パスで指定するとエスケープされ
body CHANGED
@@ -1,4 +1,4 @@
1
- Pythonで下のコードを書きファイルを引数から受け取った絶対パスで指定しているんですが、実行時にディレクトリを表す/がエスケープ処理されてしまい\という形になってしまいファイルが読み込めません。
1
+ Pythonで下のコードを書きファイルを引数から受け取った絶対パスで指定しているんですが、実行時にディレクトリを表す\がエスケープ処理されてしまい\という形になってしまいファイルが読み込めません。
2
2
  これを防ぐにはどうしたらいいですか?
3
3
  ```python
4
4
  with open(filePath, 'r', encoding='utf-8') as f: