问题标签 [sys]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3363 浏览

python - 是否可以从解释器中运行的 python 代码写入 sys._getframe() 返回的 python 框架对象?

关于这个问题,解释器中有一些脚手架来检查框架对象,可以通过sys._getframe(). 框架对象似乎是只读的,但我在明确说明这一点的文档中找不到任何明显的东西。有人可以确认这些对象是可写的(以某种方式)还是只读的?

这会在运行时打印出 ' foo',但下面的帖子演示了在交互式 shell 中从当前帧运行时该变量是可写的。

0 投票
3 回答
1520 浏览

python - 删除 *.pyc 继续

作为这个问题的后续,我有一个新问题:

os.remove(module_name)和内部发生了什么del sys.modules["module_name"]

0 投票
2 回答
160917 浏览

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

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

UPD:Python 在引用 PYTHONPATH 之前添加了一些路径:

我的 PythonPATH 是:

我想知道 PYTHONPATH 之前的那些路径来自哪里?

0 投票
4 回答
18221 浏览

python-3.x - sys.intern() 做什么以及何时使用?

我遇到了这个关于字典内存管理的问题,其中提到了实习生功能。它到底是做什么的,什么时候使用?

举个例子:如果我有一个名为seen的集合,它包含格式为 (string1,string2) 的元组,我用它来检查重复项,存储 (intern(string1),intern(string2)) 会提高内存性能还是速度?

0 投票
2 回答
1501 浏览

python - Python:为什么从线程调用的`sys.exit(msg)`不会将`msg`打印到stderr?

今天我遇到了这样一个事实,即sys.exit()从子线程调用不会杀死主进程。我以前不知道这一点,这没关系,但我需要很长时间才能意识到这一点。如果可以打印到,它会节省很多时间。但它没有。sys.exit(msg)msgstderr

事实证明,这不是我的应用程序中的真正错误。它以一种有意识的方式调用sys.exit(msg)了一个有意义的错误——但我就是看不到这一点。

sys.exit()它的文档中声明“[...] 任何其他对象都被打印到sys.stderr并导致退出代码为 1”

对于来自子线程的调用,情况并非如此,其中显然表现sys.exit()thread.exit()“引发 SystemExit 异常。如果没有被捕获,这将导致线程静默退出”

我认为当程序员想要sys.exit(msg)打印一条错误消息时,应该只打印它——与调用它的位置无关。为什么不?我目前看不出任何原因。至少文档中应该有一个提示,sys.exit()即消息不是从线程中打印出来的。

你怎么看?为什么从线程中隐藏错误消息?这有意义吗?

最好的祝福,

扬-菲利普·格尔克

0 投票
1 回答
1331 浏览

python - 无法让 __import__() 在 python 中动态导入模块 - 我知道这是因为它没有出现在 sys.modules

我写了一个小脚本。它旨在搜索所有可用模块的python目录(无论它们是否已安装),然后它应该检查当前加载了哪些模块,然后它提供了一个选项来动态加载您选择的模块。后者使用__import__()是因为我正在向它传递一个字符串 - (这是我遇到问题的地方 - 但我很快就会回到它)......然后它提供了“浏览”模块的所有类的选项, 函数等(使用dir([module name])...)。

问题:

当模块被动态加载时——它被嵌入在一个try/except语句中——如果它成功,它报告“模块已加载”,如果它失败,它报告……duh……“加载失败……”

如果您键入一个模块的名称,例如一个名为“uu”的模块,它会显示“已加载”。所以我知道它正在加载 - 但是,当我返回并调用检查所有 LOADED 模块的函数时 - 它是空白的(使用sys.modules

我在想 python 正在将模块加载到一个临时位置,这不是sys.modules因为当我退出脚本并检查sys.modules它不存在时。

0 投票
1 回答
1428 浏览

python - PyErr_Print() 的 Python 等价物

PyErr_Print()来自 C 接口的 Python API 等价物是什么?

我假设在systraceback模块中进行了调用,但在其中找不到任何调用PyErr_Print().

附录

我在 Python 调用后获得与 相同的功能PyErr_PrintEx(),描述为:

那就是我想进行具有这种效果的Python调用。

0 投票
2 回答
1285 浏览

python - 为什么'setprofile'打印这个

打印

为什么要打印这个。

0 投票
4 回答
11485 浏览

python - 当 unittest 模块在脚本中时 sys.argv[1] 出现问题

我有一个脚本,它使用 sys.argv 执行各种操作并访问参数,但是当脚本到达代码的 unittest 部分时,它说没有用于此的模块。我拥有的脚本是:

假设我./script.py Hello在命令行中输入。我得到的错误是:

如果我删除 unittest 模块,它就可以工作。此外,如果我删除 testrunner 日志并将其保留在:

这仍然行不通。

任何人都可以帮忙。

谢谢

我尝试了这个 hack,但它仍然尝试读取sys.argv.

我已经尝试过了,argv但它仍然无法读取额外的参数。

0 投票
3 回答
216 浏览

python - 为什么这是这个 python 程序的输出?

#python 的某个人建议它正在搜索模块“herpaderp”并找到所有列为其搜索的模块。如果是这种情况,为什么它在引发 ImportError 之前不列出我系统上的每个模块?有人可以阐明这里发生的事情吗?

输出: