2

Windows 7 マシンで Python 2.5.x を使用しています。

os.path.exists('C:')              # returns True
os.path.exists('C:\Users')        # returns True
os.path.exists('C:\Users\alpha')  # returns False, when ALPHA is a user on my machine

使用している CLI に読み取り/書き込み権限を付与しました。これの考えられる理由は何ですか?

4

2 に答える 2

5

引用符内の「\」は次の文字をエスケープします。文字列リテラルのリファレンスを参照してください。次のようにバックスラッシュを2倍にします。

os.path.exists('C:\\Users\\ALPHA')

バックスラッシュ自体をエスケープするには、マイケルが提案するようにスラッシュをパス区切りとして使用するか、「生の文字列」を使用します。

os.path.exists(r'C:\Users\ALPHA')

先頭rは、Python がバックスラッシュをエスケープ文字として扱わないようにします。これは Windows のパス名を処理するための私のお気に入りの解決策です。

于 2011-07-13T16:25:43.940 に答える
1

ダブルバックスラッシュまたはフォワードスラッシュのいずれかを使用します。

os.path.exists('C:/Users/ALPHA')    
于 2011-07-13T15:21:53.627 に答える