草庐IT

generate_line

全部标签

python - 不要在异常堆栈中显示 Python raise-line

当我在我的Python库中引发自己的异常时,异常堆栈将引发行本身显示为堆栈的最后一项。这显然不是错误,在概念上是正确的,但是当您在外部使用代码(例如作为模块)时,将重点放在对调试无用的东西上。有没有办法避免这种情况并强制Python将上一个到最后一个堆栈项显示为最后一个,就像标准Python库一样。 最佳答案 适当的警告:修改解释器的行为通常是不受欢迎的。在任何情况下,准确查看引发错误的位置可能有助于调试,尤其是当函数可能因多种不同原因引发错误时。如果您使用traceback模块,并将sys.excepthook替换为自定义函数,这

python - 我可以通过 pytest 测试运行 line_profiler 吗?

我已经用确定了一些长期运行的pytest测试py.test--durations=10我现在想用line_profiler或cprofile之类的东西来检测其中一个测试。我真的很想从测试本身获取配置文件数据,因为pytest设置或拆除很可能是缓慢的一部分。但是考虑到line_profiler或cprofile通常如何参与,我不清楚如何使它们与pytest一起使用。 最佳答案 像这样运行pytest:python3-mcProfile-oprofile-mpytest你甚至可以传入可选参数:python3-mcProfile-opro

python - "RuntimeError: generator raised StopIteration"每次我尝试运行应用程序时

我正在尝试运行此代码:importweburls=('/','index')if__name__=="__main__":app=web.application(urls,globals())app.run()但它每次都会给我这个错误C:\Users\aidke\Desktop>pythonapp.pyTraceback(mostrecentcalllast):File"C:\Users\aidke\AppData\Local\Programs\Python\Python37-32\lib\site-packages\web\utils.py",line526,intakeyieldn

Python语法错误: ("' return' with argument inside generator",)

我的Python程序中有这个函数:@tornado.gen.enginedefcheck_status_changes(netid,sensid):como_url="".join(['http://131.114.52:44444/ztc?netid=',str(netid),'&sensid=',str(sensid),'&start=-5s&end=-1s'])http_client=AsyncHTTPClient()response=yieldtornado.gen.Task(http_client.fetch,como_url)ifresponse.error:self.er

python - 正则表达式 : match character group or end of line

如何在[](字符组)中匹配^(行首)和$(行尾)?简单例子干草堆字符串:zazty规则:匹配任何“z”或“y”如果前面有一个“a”,“b”;或在行首。通过:匹配前两个“z”一个可行的正则表达式是:(?:^|[aAbB])([zZyY])但我一直认为在字符组内使用类似的内容会更简洁[^aAbB]([zZyY])(在该示例中假设^表示行首,而不是它的真正含义,字符组的否定)注意:使用python。但是知道在bash和vim上也会很好。更新:再次阅读manual它说对于字符集,一切都失去了它的特殊含义,除了字符类(例如\w)在字符类列表中,有\A作为行首,但这不起作用[\AaAbB]([zZ

Python PEP8 : Blank lines convention

我有兴趣了解程序部分之间换行符的Python约定是什么?例如,考虑一下:importosdeffunc1():deffunc2():什么应该是理想的换行符分隔:import模块和功能?函数本身?我已阅读PEP8,但我想确认以上两点。 最佳答案 导入语句和其他代码之间有两个空行。每个函数之间有两个空行。 关于PythonPEP8:Blanklinesconvention,我们在StackOverflow上找到一个类似的问题: https://stackoverf

python - 交互式 Python : cannot get `%lprun` to work, 尽管 line_profiler 已正确导入

问题大多数iPython“魔术函数”对我来说都能很好地工作:%hist、%time、%prun等。但是,我注意到%lprun在我最初安装的iPython中找不到。尝试解决然后我发现我应该安装line_profiler模块。我已经安装了这个模块,但似乎仍然无法让魔法功能正常工作。如果我尝试调用%lprun,iPython仍然找不到该函数。如果我用全名(line_profiler.magic_lprun)调用它,可以找到该函数,但我根本无法让它工作。下面是我所做的一个例子(这是从“PythonforDataAnalysis”一书中逐步完成的):成功使用%prun[在:]defadd_and

"empty lines"中的 Python 缩进

首选哪个(“.”表示空格)?一)deffoo():x=1y=2....ifTrue:bar()B)deffoo():x=1y=2ifTrue:bar()我的直觉是B(这也是vim为我所做的),但我看到人们一直在使用A)。仅仅是因为大多数编辑器都坏了吗? 最佳答案 如果你使用A,你可以在pythonshell中复制粘贴你的block,B会出现意外的缩进错误。 关于"emptylines"中的Python缩进,我们在StackOverflow上找到一个类似的问题:

python - 如何在 IPython 笔记本中隐藏 <matplotlib.lines.Line2D>

我正在绘制一个NumPy值数组,I,在%matplotlib中使用IPython笔记本使用绘图命令的内联模式plt.plot(I,'o').结果输出是:Out[159]:[,,,,,,,........]然后我的情节显示在这些输出线的下方。有没有办法只显示情节并隐藏从输出? 最佳答案 您可以使用分号;结束该行。这会在生成绘图时抑制不需要的输出:plt.plot(I,'o');一般来说,使用分号会阻止IPython从代码块的该行打印任何输出值。例如,执行包含代码1+1;的单元格将不会输出2。另一种方法是将变量绑定(bind)到绘图:_

Python 库 'unittest' : Generate multiple tests programmatically

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Howdoyougeneratedynamic(parameterized)unittestsinPython?我有一个要测试的函数,under_test,以及一组预期的输入/输出对:[(2,332),(234,99213),(9,3),#...]我希望这些输入/输出对中的每一对都在其自己的test_*方法中进行测试。这可能吗?这是我想要的,但强制每个输入/输出对进入一个测试:classTestPreReqs(unittest.TestCase):defsetUp(self):self.expected_pa