我会绕过所有的焦虑,你可能会从试图重新运行自己,把它交给环境。

我的意思是:当程序以特定的“重新启动”代码退出时,有一个控制程序只在循环中运行程序(使用与给定参数相同的参数)。这可以像cmd文件一样简单,也可以像使用os.system的另一个(非常简单)Python程序一样复杂。基本上,只要控制程序得到代码“restart”,它就会用完全相同的参数重新运行程序。任何其他代码都会导致它与该代码一起退出。

当您想要完全退出时,让真正的Python程序退出并返回代码0(或者任何在错误情况下不是“重启”代码的代码)。

如果您只想循环到程序的另一个迭代(例如重新读取配置),请退出并使用控制程序识别的“重新启动”代码。

但是您可能还需要考虑重新设计应用程序,以便它可以随时重新读取其配置。这将使整个问题消失。你没有提到为什么这不是一个选择,所以我假设你有一些理由,为什么它不会工作。

但是,如果你不这样做,我会选择这条路。

为第一个选项提供一些示例代码(这是在Windows上,但在Cygwin下-同样的基本规则应该适用于Windows原生Python,但是您应该检查来自os.system的返回值)> cat phase1.py

#!/usr/bin/python

import os

status = 9

while status == 9:

status = int(os.system ("./phase2.py") / 256) # exit code is upper 8 bits

print "Controller: %d"%(status)

> cat phase2.py

#!/usr/bin/python

import sys

import time

time.sleep(1)

val = int(time.time())%10

if val == 0:

rc = 0

else:

rc = 9

print "Program: %d -> %d"%(val,rc)

sys.exit(rc)

> ./phase1.py

Program: 2 -> 9

Controller: 9

Program: 3 -> 9

Controller: 9

Program: 4 -> 9

Controller: 9

Program: 5 -> 9

Controller: 9

Program: 7 -> 9

Controller: 9

Program: 8 -> 9

Controller: 9

Program: 9 -> 9

Controller: 9

Program: 0 -> 0

Controller: 0

您可以看到控制器使用退出代码9来决定是否重新运行程序。程序本身是一个哑程序,除非它是10秒的倍数,否则返回9。

python 重启程序_重新启动Python程序相关推荐

  1. python怎么做软件程序_看 Python 超级程序员使用什么开发工具

    Python超级程序员使用的开发工具 我以个人的身份采访了几个顶尖的Python程序员,问了他们以下5个简单的问题: 当前你的主要开发任务是什么? 你在项目中使用的电脑是怎样的? 你使用什么IDE开发 ...

  2. python 概率分布模型_使用python的概率模型进行公司估值

    python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...

  3. python 时间序列预测_使用Python进行动手时间序列预测

    python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...

  4. python写windows程序_【Python学习】Python 写Windows Service服务程序

    如下遇到自己编写的服务无法启动 需要添加环境变量(标红的) C:\Python27\Scripts;C:\Python27\;C:\Python27\chromedriver.exe;C:\Pytho ...

  5. python 客户端应用程序_创建python Web服务和C#客户端应用程序的最佳方法 - c#

    我正在寻找一种简单可靠的方法来创建Python Web Service并从.Net(c#)应用程序中使用它. 我发现了很多不同的库,其中一个库比另一个库好,但是似乎没有人提供关于Python Web ...

  6. python用一行代码编写一个回声程序_利用Python实现一个WC程序

    项目要求 wc.exe 是一个常见的工具,它能统计文本文件的字符数.单词数和行数.这个项目要求写一个命令行程序,模仿已有wc.exe 的功能,并加以扩充,给出某程序设计语言源文件的字符数.单词数和行数 ...

  7. python写机器人程序_用Python写的一个多线程机器人聊天程序

    本人是从事php开发的, 近来想通过php实现即时通讯(兼容windows).后来发现实现起来特别麻烦, 就想到python.听说这家伙在什么地方都能发挥作用.所以想用python来做通讯模块...所 ...

  8. python 入门程序_非Python程序员的Python速成课程-如何快速入门

    python 入门程序 This article is for people who already have experience in programming and want to learn ...

  9. python编辑图像_在python中创建图像编辑应用程序

    因此,事实上,创建一个具有良好用户界面的复杂应用程序需要 时间 -我只是在扩大一点THC4K的答案. pil,至少pil本身对这个没有用处:它确实有一些操作图像的功能,但是这里复杂的任务是创建和调整您 ...

最新文章

  1. winxp运行html代码,关于WinXP系统实现自动化运行的操作技巧
  2. 论:CMMI项目集成管理(IPM)
  3. 利用ArcMap对tiff或jpg格式地图图片的配准步骤
  4. java基础(九) 可变参数列表介绍
  5. JAVA 通过URL 获取页面内容
  6. Mac下文件的编码及修改编码
  7. Fedora 11-Alpha试用手记
  8. 万维网发布服务 w3svc 已停止 除非万维_万维网和互联网的区别
  9. 怎样写出别人无法维护的代码
  10. [msi]安装包无法安装,提示没有找到源文件xxx.cab
  11. 9.Shell 编程从入门到精通 --- 进程
  12. paramiko模块执行linux下nohup卡住的问题。
  13. Python ini文件读取(configparser模块)(转载)
  14. vue多个html传递参数,vue 项目@change多个参数传值多个事件的操作
  15. python win32 窗口截图
  16. 安装python失败的方法_安装python不失败的方法
  17. 常用命令和常用工作地址管理工具
  18. 分享一个代码合并工具
  19. C++日志操作开源函数库之Google-glog【Caffe源代码静态库封装--------关键错误点解决必备参考资料】
  20. 手工皮具的大坑之路-封边感悟与工具

热门文章

  1. vue项目中使用axios发送请求
  2. 在mysql中如何添加函数库_详细讲解如何为MySQL数据库添加新函数
  3. matlab聚合矩阵,c#和ILNumerics与Matlab中最有效的矩阵聚合方式
  4. android开发访问百度搜索,Android开发如何添加搜索功能———大神求救啊
  5. 计算两个String 类型的时间相关几个月
  6. oc基础 不可变字符串的创建和使用
  7. PathAnimation
  8. OS学习笔记32—使用Storyboard实现复杂界面
  9. JAVA中自增自减运算符(i++与++i的区别)
  10. WebRTC报错:depot_tools/bootstrap_python3: um.8_bin/python3/bin/python3: 没有那个文件或目录(三)