0

次を実行すると:

import subprocess
subprocess.check_call('dir', shell=True)

C:\Pythonインタープリターを開始したディレクトリに関係なく、結果には常にの内容が表示されます。これも試しました:

import subprocess
subprocess.check_call('dir', shell=True, cwd='C:\\foo\\bar\\baz')

それもうまくいきません。同じ理由で、Scons (Python ベースのビルド ツール) を使用してアプリケーションをビルドする際にも問題が発生しています。

scons: Building targets ...
cl /Fobuild\Animation.obj /c src\Animation.cpp /TP /DSFML_STATIC /EHsc /MD /Zi /Ideps/Box2D_v2.2.1 / Ideps/LuaJIT-2.0.2/src /Ideps/SFML-2.0/include /Ideps/include /nologo
Animation.cpp
c1xx : fatal error C1083: Cannot open source file: 'src\Animation.cpp': No such file or directory
scons: * [build\Animation.obj] Error 2
scons: building terminated because of errors.

src\Animation.cpp が実際に存在することに注意してください。これは、Python インタープリターが実行されている実際の場所ではなく、 b/ccl.exeが実行されているときに起こると思います。C:\

これは私の環境変数に問題があるのではないかと思いましたが、それらを確認したところ、すべて問題ないようです。Pythonも削除/再インストールしましたが、役に立ちませんでした。

何が起きてる?

4

2 に答える 2

0

「\」をエスケープするか、生の文字列 ( r'....') を使用する必要があります。

>>> 'C:\foo\bar\baz'
'C:\x0coo\x08ar\x08az'
>>> r'C:\foo\bar\baz'
'C:\\foo\\bar\\baz'
于 2013-06-13T06:28:53.537 に答える
0

修正しました!問題はレジストリの AutoRun 設定でした...どのように設定されたのかわかりませんが、設定されていました。これを解決するには、次の場所に移動します。

HKEY_CURRENT_USER\Software\Microsoft\Command Processor

レジストリで、AutoRun 設定を削除します。私のAutoRunは次のようになりました:

cd C:\

それはすべてを完全に台無しにしていました。

于 2013-06-16T18:58:38.420 に答える