2013-01-15 24 views
0

while循环在我的Python脚本Python的启动应用程序的暂停而1环

while 1: 
    functionToGetXandY 
    if x == z: 
     os.system("google-chrome --start-maximized " + x) 
     currentLink = latestLink 

    if y == z: 
     subprocess.call([vlc_path, "--fullscreen", z]) 

    time.sleep(1) 

每当Chrome或VLC通过脚本启动的循环似乎停止,我有以下关闭。我错过了什么?

注:无限循环是有意的 - 剧本不断地检查XML文件来执行命令(即部分作品)

+0

你'while'环路没有断条件,陷入无限循环。 –

+0

这里'while'循环的目的是什么?你为什么在一个地方使用'os.system'而在另一个地方使用'subprocess.call'? – mgilson

+0

你也可以使用'webbrowser.open()'作为一种可移植的方式来打开链接,媒体文件 – jfs

回答

2

两个subprocess.callos.system阻塞调用。这意味着当你调用其中的任何一个时,脚本会暂停,直到你调用的程序退出。

如果你希望你的Python脚本继续立即执行,你可能想看看subprocess.Popen这是非阻塞,并采取非常subprocess.call采用相同的参数