再起動時にPythonプログラムを実行するコンピュータを作成する方法はありますか?一般的な解決策は良いですが、特に私は窓にあります。ローカルコンピュータをPythonから再起動
答えて
これを行う一般的な方法はafaikではありません。
Windowsの場合、Win32 APIにアクセスする必要があります。ように:
import win32api
win32api.InitiateSystemShutdown()
は、pywin32の一部です。
linux/os xでは、「再起動」コマンドを呼び出すのが最も簡単だと思います。
import os
os.system('reboot now')
などです。 。
は(downvotersへの注意:os.system()ないテキストがサブプロセスモジュールは、新しいプロセスを生成し、その結果を取得するためのより強力な機能を提供」で推奨されていません。そのモジュールを使用すると、この機能を使用することが好ましいですこのような単純なケースでは、結果の取得やマルチプロセッシングに興味がない場合は、os.system()はうまく動作します)。
私は外部モジュール(win32api)を使ってマシンをリブートしましたが、wmiで直接リブートすることはできませんでした。 os.systemの使用について私は気にしません。 – Anders
@アンダー:「WMIC.exeは、Windows XP Professional、Windows Server 2003、Windows VistaおよびWindows Server 2008でのみ使用できます。そう、いいえ。悪いアイデア。 –
これは、Windows 7などの他のシステムでも利用できます.Windows XP Home用のSPに含まれているかどうかはわかりません。 – Anders
サブプロセスを使用してshutdownコマンドを呼び出してみませんか?
あなたは使用してWindowsシステムを再起動することができます:os.system("shutdown -t 0 -r -f")
例:
import os
print "REBOOTING"
os.system("shutdown -t 0 -r -f")
変更をシャットダウンするまでの秒数を変更するには、-tの前の数字。
ウィンドウはありませんが、Linuxではos.system( "reboot")と同じくらい簡単です。正しい特権を持っていると仮定します。 – Falmarri
'os.system'はお勧めしません。廃止されました。 @Claudiu: 'サブプロセス 'を使う。 – user225312
@A A:いいえ、それは廃止されておらず、このような些細なことに対してはうまくいきます。 –