草庐IT

sys_info

全部标签

python - 处理来自 sys.exc_info() 的回溯对象时的适当注意和安全

我知道sys.exc_info文档说在处理回溯对象时要小心,但我仍然不确定某些情况下的安全性或不安全性。此外,文档说“警告:不要这样做!”,紧接着是“注意:实际上,没问题”,这让我更加困惑。在任何情况下,文档和“Whyisthereaneedtoexplicitlydeletethesys.exc_info()tracebackinPython?”(AlexMartelli的回答)似乎都暗示其唯一引用分配给它们的回溯值的局部变量会导致问题。这留给我几个问题:在这种情况下,“局部变量”到底是什么意思?我正在为术语而苦苦挣扎,但是:这是否意味着仅在函数中创建的变量,或者也由函数参数创建的变

python - 如何在pycharm中全局管理sys.path

我有一堆单元测试,它们不是从/python2.7/site-packages/而是从一个完全不同的目录导入内容。所以我所做的是在每个测试文件中使用sys.path.append进行一些猴子修补,让我的Python看到我需要的东西。有没有一种方法可以为整个Pycharm项目全局附加sys.path而无需处理每个文件?更新:设置默认工作目录没有帮助。例如,如果我将工作目录设置为/Users/1111/_projects/_empty_dir/,如下所示:然后运行这个importsysforpinsys.path:printp我看到的是这个/Users/1111/.virtualenvs/b

Python sys.modules 包含一个尚未导入的模块

我试图了解加载模块与导入模块之间的区别(如果有的话)。我正在使用Python2.7.3,并且只是从命令行运行Python。如果我执行:importsyssys.modules例如,我得到一个包含os的列表。文档说sys.modules是“已加载”模块的列表。但是,如果我尝试运行类似os.environ的程序,我会收到一个NameError,它告诉我os未定义。但是,如果我随后运行importos,问题就解决了。谁能解释为什么在我实际导入模块之前os存在于sys.modules中? 最佳答案 导入模块和加载模块的区别在于将什么放入当前

python - 为笔记本设置默认的 sys.path

我的所有.py文件都在一个文件夹脚本中,我所有的IPython笔记本都在一个名为Notebook的文件夹中。每个笔记本文件对脚本上的一个或多个文件有多个交叉依赖。在每个笔记本顶部都有sys.path.append似乎很麻烦,我希望有一种方法可以添加默认查找路径,就像我们将PYTHONPATH添加到.bash_profile.现在我执行以下操作:importsyssys.path.append(")importDeriveFinalResultSetasdrs我希望有一个可以执行以下操作的设置:importDeriveFinalResultSetasdrs 最

python - pip 无法安装任何东西,错误 : invalid command 'egg_info'

除了MacOSX自带的Python版本之外,我最近还从他们的网站下载了python。这是我开始在使用pip安装软件包时遇到问题。sudopipinstall-vvvpygoogle将输出如下:Thedirectory'/Users/robot/Library/Caches/pip/http'oritsparentdirectoryisnotownedbythecurrentuserandthecachehasbeendisabled.Pleasecheckthepermissionsandownerofthatdirectory.Ifexecutingpipwithsudo,youma

python - 如何将回溯对象( sys.exc_info()[2] ,与 sys.exc_traceback 相同)作为字符串获取?

我有一个捕获所有异常的函数,我希望能够在该函数中将回溯作为字符串获取。到目前为止这还行不通:defhandle_errors(error_type,error_message,error_traceback):"""catcherrors"""importtracebackerror={}error['type']=error_type.__name__error['message']=str(error_message)error['file']=os.path.split(error_traceback.tb_frame.f_code.co_filename)[1]error['l

python - 在 Python 中使用 sys.stdout.write 嵌入变量

我可以通过这种方式在python中使用print语句嵌入变量i=10print"Valueis%s"%(i)输出Valueis10但是这样做i=10sys.stdout.write("Valueis%s")%(i)给我以下错误TypeError:unsupportedoperandtype(s)for%:'NoneType'and'int'我可以使用sys.stdout.write而不是print来嵌入变量吗? 最佳答案 你把括号弄错了。应该是i=10sys.stdout.write("Valueis%s"%i)%运算符将字符串和元

python - 属性错误 : module 'sys' has no attribute 'maxint'

我正在尝试使用Python3.7运行以下代码:importsysprint(sys.maxint)但是我得到一个错误:D:\Python3.7\python.exe"D:/PyCharm2017.2.3/Workplace/maximizer.py"Traceback(mostrecentcalllast):File"D:/PyCharm2017.2.3/Workplace/maximizer.py",line2,inprint(sys.maxint)AttributeError:module'sys'hasnoattribute'maxint'我该如何解决?

python - 调用 sys.exit() 和抛出异常的区别

在Python中调用sys.exit()和抛出异常有什么区别?假设我有一个执行以下操作的Python脚本:打开一个文件读行关闭它如果文件不存在或在运行时抛出IOException,下面哪个选项更有意义?没有except/catch异常,如果发生异常,它会失败(无论如何这是预期的行为)except/catchexception,记录错误信息,自己抛出自定义异常,failsout。在exceptIOExceptionblock中,退出并显示错误消息,例如sys.exit("出了点问题")选项3会终止进程而选项1和2不会吗?鉴于Python没有像Java那样的检查异常,处理Python异常的

python - 如何让 Jupyter Notebook 在系统变量中使用 PYTHONPATH 而无需直接破解 sys.path?

与此问题相同的问题sys.pathdifferentinJupyterandPython-howtoimportownmodulesinJupyter?.在纯Python中,它将我的系统环境变量PYTHONPATH添加到sys.path,但Jupyternotebook没有,所以我无法导入我自己的模块。SO上有很多类似的问题问,解决方法是直接在脚本中操作sys.path。有没有办法让Jupyternotebook使用我的系统PYTHONPATH变量,就像在纯python中一样? 最佳答案 只需使用PYTHONPATH。exportP