草庐IT

pdb-only

全部标签

Python 多处理 - AssertionError : can only join a child process

我第一次涉足pythonmutliprocessing模块,但遇到了一些问题。我非常熟悉线程模块,但我需要确保我正在执行的进程是并行运行的。这是我正在尝试做的事情的概要。请忽略未声明的变量/函数之类的东西,因为我无法完整粘贴我的代码。importmultiprocessingimporttimedefwrap_func_to_run(host,args,output):output.append(do_something(host,args))returndeffunc_to_run(host,args):returndo_something(host,args)defdo_work(

python - 使用 python 调试器 (pdb) 时调试 cython 代码 (.pyx) - 最佳实践

我已阅读Cythondebugging,putabreakpoint,和https://groups.google.com/forum/#!topic/apam-python-users/6rsRwcCAms4想知道调试从python代码调用的cython代码时最好的工作流程是什么?理想情况下,我想在从我的IDE(pycharm)启动的python调试session期间进入.pyx文件,但似乎这是不可能的。pyx文件被cython化后,是否可以编译调试信息以便调试器介入?如果无法实现,有哪些替代方案(除了不使用cython!)?由于这个问题专门问如何单步进入cython代码,虽然它类似

python - 片状 8 : "multiple statements on one line (colon)" only for variable name starting with "if"

我在VisualStudioCode中使用flake8,使用Python3.6variableannotations编写一些代码.到目前为止它没有任何问题,但我遇到了一个奇怪的警告。这很好用:style:str="""width:100%;..."""#Doingsthwith`style`这也是:img_style:str="""width:100%;..."""#Doingsthwith`img_style`但这并没有,它会产生以下警告:iframe_style:str="""width:100%;..."""#Doingsthwith`iframe_style`嗯,从技术上讲它确

python - 为什么 pdb 不能访问包含异常的变量?

有时,我无法确定是什么时候或什么原因导致的,pdb不会帮助您编写如下代码:try:foo()exceptExceptionase:importpdb;pdb.set_trace()您最终会得到通常的提示,但尝试访问e将导致:(pdb)e***NameError:name'e'isnotdefined.当然不是所有时候都这样,在linux、windows、我的机器、我同事的机器上... 最佳答案 在Python3中,except..astarget语句的目标在套件退出时被清除。来自trystatementdocumentation:W

python - "Never invent such names; only use them as documented."谁?

我读了PEP8想知道(虚构的)我创建一个名称如__foo__的对象是否是个好主意。PEP8关于__double_leading_and_trailing_underscore__是这样说的:Neverinventsuchnames;onlyusethemasdocumented.我的问题是:谁?我是一名程序员。我为其他程序员编写API。Python是由程序员实现的。实现的语言引用是由程序员或至少是前程序员编写的,使用我的API的程序员将编写一些可能会或可能不会被其他程序员使用的东西。现在展开了,当PEP8说“永远不要发明这样的名字”时,他们指的是哪个程序员?有人显然被鼓励发明这样的名字

在 macOS High Sierra 上找不到 Python 调试器 pdb

PythonDebuggingTools文档说Python调试器pdb是“所有Python安装的一部分”,但我在macOSHighSierra下找不到它:pdb:commandnotfound现在它应该作为macOS的正常部分安装吗? 最佳答案 没有名为pdb的命令,但您可以从shell调用pdb:python-mpdbyour_script.py您可以在itsdoc中阅读更多调用pdb的方法. 关于在macOSHighSierra上找不到Python调试器pdb,我们在StackOve

python - 如何从 PDB 导出变量?

想象以下场景:脚本从IPythonshell启动,并在断点处调用python调试器。此时可以使用PDB命令分析代码和变量。但通常情况下,变量的值需要更深入的研究。是否可以将变量的值导出到IPythonshell?我的具体用例:我与一个似乎没有正确值的相当大的numpy数组作斗争。我知道我可以从python调试器运行任何python命令,但是将变量的值保存在不同的断点并在IPythonshell中使用它们会很有帮助。我正在想象类似的东西ipdb>globalvar1;var1=varipdb>continue...ipdb>globalvar2;var2=varipdb>continue

python - "SyntaxError: unexpected EOF while parsing"在 PDB 中迭代字典时

我在GET请求中设置了一个pdb跟踪。我想打印请求对象的所有属性。我在pdb中尝试以下操作:(Pdb)request(Pdb)fordindir(request):***SyntaxError:unexpectedEOFwhileparsing(,line1)我确定我在这里缺少一些基本的东西。 最佳答案 您不能在pdb中输入多行语句。不过,您可以使用commands命令如果要在断点处执行代码块;帮助命令获取更多信息。有时您也可以将多行语句折叠成一行。例如:fordindir(request):printd不过,在您的特定情况下,pr

python - 在 pdb 中保存命令历史记录

有没有办法跨session保存pdb(python调试器)命令历史记录?另外,我可以指定历史长度吗?这类似于问题HowcanImakegdbsavethecommandhistory?,但是对于pdb而不是gdb。-非常感谢 最佳答案 参见this邮政。可以在pdb中保存历史记录。默认情况下,pdb不会读取多行。所以所有的功能都需要在一行上。在~/.pdbrc中:importatexitimportosimportreadlinehistoryPath=os.path.expanduser("~/.pyhistory")defsav

python - SQLAlchemy 中的 with_entities 和 load_only 有什么区别?

查询我的数据库时,我只想加载指定的列。使用with_entities创建查询需要引用模型列属性,而使用load_only创建查询需要与列名称对应的字符串。我更愿意使用load_only,因为使用字符串创建动态查询更容易。两者有什么区别?load_onlydocumentationwith_entitiesdocumentation 最佳答案 有一些不同。丢弃不需要的列时最重要的一个(如问题中所示)是使用load_only仍会导致创建对象(模型实例),而使用with_entities将只需获取包含所选列值的元组即可。>>>query=