我制作了一个程序,要求你最后重启。
我@Default
@ApplicationScoped
public class ConfigurationHandlerImpl implements ConfigurationHandler {
@Inject
public ConfigurationHandlerImpl(Logger logger, @ConfigurationValue("test.test") String test) { ... }
}
并使用import os
但什么都没发生,为什么?
以下是代码:
os.execl(sys.executable, sys.executable, * sys.argv)
答案 0 :(得分:2)
import os
import sys
restart = input("\nDo you want to restart the program? [y/n] > ")
if restart == "y":
os.execl(sys.executable, os.path.abspath(__file__), *sys.argv)
else:
print("\nThe programm will me closed...")
sys.exit(0)
os.execl(path,arg0,arg1,...)
sys.executable
:python可执行
os.path.abspath(__file__)
:您正在运行的python代码文件。
*sys.argv
:剩下的论点
它将再次执行程序,如python XX.py arg1 arg2
。
答案 1 :(得分:1)
也许os.execv可以工作,但如果您的环境和路径变量设置如下,为什么不直接使用os.system('python "filename.py"')
:
import os
print("Hello World!")
result=input("\nDo you want to restart the program? [y/n] > ")
if result=='y':
os.system('python "C:/Users/Desktop/PYTHON BEST/Hackerrank.py"')
else:
print("\nThe programm will me closed...")
答案 2 :(得分:-3)
os.execv(sys.executable, ['python'] + sys.argv)
解决了这个问题。