20

Pythonスクリプトでディレクトリパスを使用して非常に基本的な問題に直面しています。Windowsエクスプローラーからパスをコピーすると、バックスラッシュがパス区切りとして使用され、問題が発生します。

>>> x
'D:\testfolder'
>>> print x
D:      estfolder
>>> print os.path.normpath(x)
D:      estfolder
>>> print os.path.abspath(x)
D:\     estfolder
>>> print x.replace('\\','/')
D:      estfolder

誰かがこれを修正するのを手伝ってくれませんか。

4

1 に答える 1

21

Python\tは、文字列内の a をタブ文字として解釈します。したがって、お気づきのように、と の"D:\testfolder"間にタブが表示されます。実際のバックスラッシュが必要な場合は、次のように入力してバックスラッシュをエスケープする必要があります。:e\\

>>> x = "D:\\testfolder"
>>> print x
D:\testfolder

ただし、クロスプラットフォームの互換性のために、おそらく を使用する必要がありますos.path.join。Windows 上の Python では、スラッシュ ( /) も自動的に適切に処理されると思います。

于 2013-09-28T08:57:46.040 に答える