Python编程语言有哪些鲜为人知但有用的功能?
我有这个Python应用程序不时被卡住,我无法找到在哪里.
有没有办法告诉Python解释器向您显示正在运行的确切代码?
某种即时堆栈跟踪?
相关问题:
我的代码中出现了很多错误.因此,我希望能够在开始时将它们最小化,或者在代码执行之前尽可能多地查看错误.这是可能的,如果是这样,我该怎么做?
我想在scrapy框架中跟踪功能/类执行命令。默认项目中有多个* .py文件,我想知道哪个py文件和类已按顺序执行。将记录器排在每个类和每个函数中听起来很愚蠢。如何可视化此顺序?
cprofile主要用于测量总时间。我还可以可视化一个模块内部的执行顺序,这是常见的问题,但是很难可视化多个模块。
在跟踪包方面,我没有找到适合大型项目(例如scrapy或django)的示例。跟踪用法教程仅涉及一个python文件。
我想在一个大型项目(例如scrapy)中的多个模块中跟踪多个* .py文件,而不是一个模块。
我知道像pdb这样的调试工具,但是我发现在整个项目中放置断点很麻烦。更重要的是,总结执行顺序并不容易。
最后,我通过使用Hunter进行了解决,它比内置跟踪模块更好。跟踪模块不提供include_dir属性。
对于那些对如何追踪所有刮板线条充满好奇的人。
$PYTHONHUNTER='Q(module_startswith=["scrapy", "your_project"])' scrapy list
Run Code Online (Sandbox Code Playgroud)
对于django,跟踪rest_framework的执行代码并将其保存到test.log,例如:
$PYTHONHUNTER='Q(module_startswith=["rest_framework", "your_project"]), action=CallPrinter(stream=open("test.log", "w"))' python manage.py runserver --noreload --nothreading
Run Code Online (Sandbox Code Playgroud) 我注意到我的本地windows7机器上的django开发服务器(版本1.1.1)使用了大量CPU(约30%,根据任务管理器的python.exe条目),即使在空闲状态下,即没有请求到来进/出去 是否有既定的方法来分析可能对此负责的内容?
谢谢!
马丁
如何在Python脚本中查看调用哪些函数和所有变量值?
我刚刚发现了Python的不确定性包,我想弄清楚它是如何工作的,所以我可以向老板解释一下.
基本上,我看不出实际计算的不确定性.这可能是因为我不知道Python是如何工作的.
对于初学者,我怎样才能看出如何c计算?
import uncertainties
from uncertainties import ufloat
a = ufloat(1,3)
b = ufloat(2,4)
c = a + b # How does this work??
print c
Run Code Online (Sandbox Code Playgroud) 我有一个运行几个线程的python脚本。通常,当我想调试python脚本时,请使用“ -m pdb”运行它,然后使用“ b”设置一个断点。但是,由于某种原因,即使它通过了那条线,它也不会在断点处停止,甚至我看到实际上已经添加了断点。知道我在做什么错吗?我从这里使用了一个简单的python线程模块示例
import threading
class SummingThread(threading.Thread):
def __init__(self,low,high):
threading.Thread.__init__(self)
self.low=low
self.high=high
self.total=0
def run(self):
print 'self.low = ' + str(self.low) + ', self.high = ' + str(self.high)
for i in range(self.low,self.high):
self.total+=i
thread1 = SummingThread(0,500000)
thread2 = SummingThread(500000,1000000)
thread1.start() # This actually causes the thread to run
thread2.start()
thread1.join() # This waits until the thread has completed
thread2.join()
# At this point, both threads have completed
result = thread1.total + thread2.total
print result
Run Code Online (Sandbox Code Playgroud)
然后run,使用 …
我正在我的python程序中使用的包正在发出警告,我想了解其确切原因.我已经设置logging.captureWarning(True)并在捕获日志中捕获警告,但仍然不知道它来自何处.我如何记录堆栈跟踪,以便我可以看到警告来自哪里?我用traceback吗?
在PHP中,当我从模板form向控制器发送后期处理请求数据时,我可以print_r($data)用来print form发送数据进行调试,但是在Django中,如何form在view.py中打印后期处理请求数据
所以,我想创建一个循环,在任何给定的时间内增加项目的成本,同时记录实例的总成本.问题在于,无论何时执行程序,输出似乎都应该超出应有的范围,如果我将变量的值更改cost为10,那么它似乎比它应该稍微多一点.这是代码:
amount = 3
cost = 0
increase = 10
for i in range(amount):
cost += increase
increase += increase
total = cost
print(total)
Run Code Online (Sandbox Code Playgroud)
当cost = 0总数变为70,当我认为它应该是60,然后当cost = 10总数变为80时,我认为它应该是90.
任何帮助将不胜感激 - 抱歉提出这样一个愚蠢的问题.这可能是一个非常简单的修复.