草庐IT

sys_exit

全部标签

python - 检查是否定义了 sys.argv[x]

检查是否为脚本传递了变量的最佳方法是:try:sys.argv[1]exceptNameError:startingpoint='blah'else:startingpoint=sys.argv[1] 最佳答案 检查sys.argv的长度:iflen(sys.argv)>1:blah=sys.argv[1]else:blah='blah'有些人更喜欢您建议的基于异常的方法(例如,try:blah=sys.argv[1];exceptIndexError:blah='blah'),但我不喜欢我不太喜欢它,因为它不能很好地“缩放”(例如

python - 如何很好地处理 `with open(...)` 和 `sys.stdout`?

通常我需要将数据输出到文件,或者,如果未指定文件,则输出到标准输出。我使用以下代码段:iftarget:withopen(target,'w')ash:h.write(content)else:sys.stdout.write(content)我想重写它并统一处理两个目标。理想情况下应该是:withopen(target,'w')ash:h.write(content)但这不会很好,因为离开withblock时sys.stdout已关闭,我不希望那样。我也不想stdout=open(target,'w')...因为我需要记住恢复原始标准输出。相关:Redirectstdouttoafi

python - 如何在 Python 中对多处理中的 "AttributeError: __exit__"进行故障排除?

我尝试重写一些csv读取代码,以便能够在Python3.2.2的多个内核上运行它。我尝试使用多处理的Pool对象,我改编自工作示例(并且已经为我的项目的另一部分工作)。我遇到了一条难以解读和排除故障的错误消息。错误:Traceback(mostrecentcalllast):File"parser5_nodots_parallel.py",line256,inMG,ppl=csv2graph(r)File"parser5_nodots_parallel.py",line245,incsv2graphnode_chunks)File"/Library/Frameworks/Python.

python - Python 的 sys.path 是从哪里初始化的?

Python的sys.path是从哪里初始化的?UPD:Python在引用PYTHONPATH之前添加了一些路径:>>>importsys>>>frompprintimportpprintasp>>>p(sys.path)['','C:\\Python25\\lib\\site-packages\\setuptools-0.6c9-py2.5.egg','C:\\Python25\\lib\\site-packages\\orbited-0.7.8-py2.5.egg','C:\\Python25\\lib\\site-packages\\morbid-0.8.6.1-py2.5.eg

java - System.exit(1) 的替代方案

由于各种原因,在编写Java应用程序时不赞成调用System.exit,那么如何通知调用进程并非一切都按计划进行?编辑:1是任何非零退出代码的standin。 最佳答案 System.exit的使用在“应用程序”实际上是大型Java应用程序(服务器)的子应用程序(例如servlet、applet)时不受欢迎:在这种情况下,System.exit可以停止JVM,因此也可以停止所有其他子应用程序。在这种情况下,抛出一个适当的异常,可以被应用程序框架/服务器捕获和处理是最好的选择。如果Java应用程序真的要作为独立应用程序运行,那么使用S

java - 在 Java 程序的主线程中调用 System.exit(0) 和 Thread.currentThread().interrupt() 有什么区别?

两者都会导致程序停止执行。不过,很明显,这种情况的发生方式肯定存在一些差异。它们是什么? 最佳答案 总结thread.interrupt()不会停止线程。它用于多线程程序中的协调。除非您确切知道自己在做什么,否则不要使用它。抛出RuntimeException将(通常)终止线程,但不一定终止程序。System.exit(int)几乎总是终止程序并返回状态码。在不寻常的情况下,System.exit(int)可能不会真正停止程序。另一方面,Runtime.getRuntime().halt(int)总是这样。线程中断恐怕你的第一句话是

java - 调试万无一失的策略 "The forked VM terminated without saying properly goodbye. VM crash or System.exit called ?"

我正在处理一个相当复杂的java项目,其中包含许多依赖项和许多单元测试。我在mac(mavericks)上使用java1.6.0_65,maven3.0.5和maven-surefire-plugin:2.16在多个分支中运行。我的问题是,使用多个fork运行此设置会导致fork退出:"TheforkedVMterminatedwithoutsayingproperlygoodbye.VMcrashorSystem.exitcalled?"只用一个fork运行它不会产生问题(一切都通过了)有一些关于此问题的信息,包括thisStackOverflowquestion和thissuref

java - 如何捕获 System.exit 事件?

我在java中有一个应用程序,在其中我尝试确保如果有人退出代码中的System.exit()代码,则应该调用一个监听器来执行一些操作,例如记录消息和释放资源...我该如何实现它,欢迎任何建议/方法。 最佳答案 Runtime.addShutdownHook方法可以用来添加一个关闭钩子(Hook),它基本上是一个未启动的线程,它在Java虚拟机关闭时执行。但是,这是一个应该小心处理的领域,因为它是在JVM生命周期的一个非常敏感的时间执行的。Runtime.addShutdownHook方法的API规范:Shutdownhooksrun

java - 如何防止对 System.exit() 的调用终止 JVM?

我几乎可以肯定这是不可能的,但值得一试。我正在为某个工具编写命令行界面。我说的是调用另一个Java应用程序的Java应用程序。该工具在执行后调用System.exit,这反过来又终止了我自己的执行环境。我不想那样。有什么方法可以忽略System.exit调用? 最佳答案 是的,这可以使用SecurityManager。试试下面的classMySecurityManagerextendsSecurityManager{@OverridepublicvoidcheckExit(intstatus){thrownewSecurityExc

java - 如何以 SYS 身份在 Java 中连接到 Oracle?

我收到此错误:java.sql.SQLException:ORA-28009:connectionasSYSshouldbeasSYSDBAorSYSOPER如何解决?(我需要是SYS)。谢谢。 最佳答案 试试这个:importjava.sqlasjsqlimportjava.langaslangdriver,url,user,passwd=("oracle.jdbc.driver.OracleDriver","jdbc:oracle:thin:@localhost:1234:xxx1","sysassysdba","xxx1")l