Windows 7 では、IDLE Python 2.7.5 シェルを起動します。
>>> import os
>>> os.getcwd()
'C:\\Python27'
>>> os.path.relpath('C:\\')
'..'
>>> os.path.relpath('C:')
'.'
>>> os.chdir('C:')
>>> os.getcwd()
'C:\\Python27'
何が起こっているのか、なぜこれほど複雑なことが必要なのでしょうか?
実際のフォルダに変更しようとしているのではなく、「c:」に変更すると、適切なコマンドが表示されます
import os
os.chdir('c:\\')
そして、それはうまく機能します。バックスラッシュが 2 つある理由は、バックスラッシュ (エスケープ文字として機能) をエスケープするためです。
Windows では、動作が少し奇妙になることがあります。Python を cmd.exe から起動する場合と、(cmd.exe を経由せずに) 直接起動する場合では、動作が異なります。指摘されているように、正しいコマンドはos.chdir('c:\\')
. この回答は詳細を提供します。