54202


input関数を使ってパスを使ってそこからファイルを開こうと思っているのですが、Windowsのエクスプローラにあるパスのコピーで「"」が前後に入力されてしまい、それをinputが文字列として格納するので、`b'"path"'`となって二重になってしまいます。  
発生するエラーは以下になります。ちなみにファイルはちゃんと存在しています。

> File b'"E:\Programming\Python\Matplotlib\Geochemi_test3.csv"' does  
>  not exist

これを回避しようと思い置換しようと思ったのですが、どうも認識しないようです。  
入力時にわざわざ前後の「"」を削除するのも手間です。  
良い回避方法などありませんか？よろしくお願いいたします。

例↓

[code]

    input1=input("パスのコピーを取って貼り付けてください\n>>>")
    input1.replace("\"","")
    
[/code]


CC BY-SA 4.0
2019-04-16T04:16:51.880
54200
2019-04-16T04:43:29.353
30590
question
python
「"」の文字を置換する方法


python3.xではわざわざ前後の「"」を削除しないと目的は達成できないはずです。

[code]

    input1 = input("パスのコピーを取って貼り付けてください\n>>>").strip('"')
    print(input1)
    
[/code]

python2.xには[`raw_input`](https://stackoverflow.com/a/4915366)という関数がありまして、`input`を直接`eval`で関数として評価することで副次的に前後のクォーテーションを削除できます。  
python3.xでは`eval(input())`で同様の動作を実現できますが、意図しない結果になる上にインジェクション攻撃にも使われかねないので推奨できません。

[code]

    input1 = eval(input(r'input "C:\hoge">>>'))
    print(input1)
    #C:\hoge
    
    input2 = eval(input('input 1+2>>>'))
    print(input2)
    #3
    
[/code]

[3.x input](https://docs.python.org/ja/3/library/functions.html#input)  
[2.x
raw_input](https://docs.python.org/ja/2.7/library/functions.html#raw_input)


CC BY-SA 4.0
2019-04-16T04:43:29.353
54202
2019-04-16T04:43:29.353
9820
54200
answer