2011-04-18 10 views
0

私はPython 2.6を使用しています 私はPythonからコマンドウィンドウに命令を入力したいと思います。 私は正しい方法が必要です。しかし、私はいくつかの失敗した試行を示しています。 はここで、いくつかの臨床試験で、エラーの種類は、私が取得:PythonからWindowsコマンドウィンドウに書き込む方法

第一審

import subprocess 
proc = subprocess.Popen('cmd.exe', stdin = subprocess.PIPE, stdout = subprocess.PIPE) 
stdout, stderr = subprocess.communicate('cd Documents') 
AttributeError: 'module' object has no attribute 'communicate' 

二審:

import subprocess 
proc = subprocess.Popen('cmd.exe', stdin = subprocess.PIPE, stdout = subprocess.PIPE) 
proc.stdin.write("cd Documents") 

ませんエラーメッセージは、しかし、何も起こりません。私は存在しないフォルダを開こうとすると、同じことが起こります。コマンドウィンドウは空

サードトライアルをまま:

os.system('cd Documents') 

何も、私は存在しないフォルダを開こうとする場合、それはしかし、1を返し、起こりませんそれはあまりにも1を返します。

os.system('cd Documentss') 
あなたの助け

ため

最終トライアル

a=os.popen("C:\\system32\\cmd.exe",'w') 
a.write("cd Documents") 
IOError: [Errno 22] Invalid argument 

感謝

+0

をなぜあなたはこれを実行する必要がありますか? 'os.chdir(" C:\\ .. ")'で十分ですか? – kurumi

答えて

2

新しくインスタンス化されたクラスの代わりにモジュールを呼び出すという点を除いて、最初の試行は正しいです。

os.system('your command') 

作品:あなたは

proc.communicate('cd Documents')

+0

お返事ありがとうございました。私がこれをやっているなら、私はもうエラーメッセージを受け取っていません。しかし、私がこれを書いている場合、ファイルは存在するかどうかを判断するウィンドウは閉じています。また、最初の行が書き込まれた後にコマンドウィンドウに何も表示されません – henrima

-1

あなたの第三トライアルを使用する必要があります。私が使用し、それは大丈夫だ:

os.system('ipconfig -renew') # Renew all connections windows 

試してみてください。

os.system('ipconfig -release') # you will disconnect from your network 

次に使用:

os.system('ipconfig -renew') # network will back 
関連する問題