深圳SEO优化姜成在最近开发python抓取网站收录的时候,需要用到python自动重启功能。原本使用的自动重启函数在liunx下运行一切正常,现在放到windows系统下就出现问题无法正常启动,查看提示发现是因为路径有空格导致。
liunx下使用的代码:
def restart_program():
python = sys.executable
os.execl(python, python, * sys.argv)
解决办法非常简单:把路径加上双引号就可以解决了
解决后的写法:
def restart_program():
python = sys.executable
os.execl(python, "%s", * sys.argv)%(python)
最近觉得代码两个不同系统之间复制每次都改这个很麻烦,就想能不能通过python自动识别windows系统然后在windows下使用windows的自启代码,后面找了找还真有,最后整合成为一个新的函数就可以两个平台通用了。代码如下:
import platform
import os
import sys
# 程序自动重启
def restart_program():
python = sys.executable
if platform.system().lower() == 'windows':
os.execl(python, "%s", * sys.argv)%(python)
else:
os.execl(python, python, * sys.argv)