我正在尝试在Eclipse中运行以下命令(使用PyDev)并且我一直收到错误:
q = queue.Queue(maxsize = 0)NameError:未定义全局名称"queue"
我已经检查了文档,看起来它应该如何放置.我在这里错过了什么吗?这是PyDev的工作原理吗?还是遗漏了代码中的内容?谢谢你的帮助.
from queue import *
def worker():
while True:
item = q.get()
do_work(item)
q.task_done()
def main():
q = queue.Queue(maxsize=0)
for i in range(num_worker_threads):
t = Thread(target=worker)
t.daemon = True
t.start()
for item in source():
q.put(item)
q.join() # block until all tasks are done
main()
Run Code Online (Sandbox Code Playgroud)
使用:Eclipse SDK
版本:3.8.1构建ID:M20120914-1540
和Python 3.3
我正在尝试在while循环中计时while循环,执行所需的总时间,并记录每次循环所需的时间.如果可能的话,我需要一种方法来使用我的代码实现这一点,或者开放我可能还不知道的不同概念.
import random
import time
import sys
def main():
looperCPU = 500
start = time.time()
while (looperCPU != 0):
#start = time.time()
#this is the computation for 3 secs
time.sleep(3)
random_number = random.randint(0,1000)
#Send to printer for processing
#.75 secs to 4.75 secs to generate a pause before printing
secondsPause = random.uniform(.75,4.75)
#This is the printer function
printerLooper = True
while printerLooper == True :
print("Sleeping for ", secondsPause, " seconds")
print(random_number)
printerLooper = False
#
print("total time taken this …Run Code Online (Sandbox Code Playgroud) 首先,我是python编程的新手并尝试在其他问题中进行大量研究,但没有一个我能找到与此类似的东西(所有其他都更先进)---那就说继续前进.
需要的解决方案:
浏览两个两个整数列表并比较相等性.理想情况下,我希望它能够一遍又一遍地遍历列表,直到存在相等性(显示代码后更多内容).这个数字会list2一遍又一遍地产生,直到相等.
代码说明:我有两个通过随机数生成生成的列表.列表的大小不相同.因此list1有500个条目,list2将有不同的数量从1到100不等.
#current attempt to figure out the comparison.
if (list1 = list2):
print(equalNumber)
Run Code Online (Sandbox Code Playgroud)
也许我对循环知之甚少,但我希望它循环遍历列表,我真的不知道从哪里开始.也许我没有像for循环那样使用循环?
这是我的数字生成器:
for i in range(0,500):
randoms = random.randint(0,1000)
fiveHundredLoop.append(randoms)
Run Code Online (Sandbox Code Playgroud)
第二个会做一些,但只会在1到100之间有不同的条目.{我可以自己照顾这个}
我对 Python 没有太多经验,需要弄清楚一些关于缓冲的事情:
我想生成一个列表,我可以在其中分配一定数量的“缓冲区”空间(不知道具体情况),以生成一个整数列表。如果“缓冲区”已满,我假设它需要刷新命令?或者您将如何清除缓冲区以继续将内容放入该缓冲区?
这是我的代码示例:
for i in range(0,500):
randoms = random.randint(0,100000)
looplist.append(randoms)
Run Code Online (Sandbox Code Playgroud)
我想要的是在循环列表中,成为一种我假设的缓冲区?其中如果循环列表中的最大缓冲区空间已满,则需要清除(在此期间是否有暂停?或发生了什么)列表以继续重新生成整数到该列表/缓冲区。
第 2 部分问题:想要解释缓冲区如何为 Python 工作的简单解释吗?还是python的内存管理只是禁用需要分配自己的缓冲区?(如果我们也愿意,我们还能做吗?)
如果我的问题看起来范围很广,我会编辑我的问题,尽量做到我所知道的描述性。
最近引入了队列设计,关于延迟处理能力以及实现"FIFO"等.
查看文档以尝试获取示例队列,以了解如何在我自己的设计/程序中实现它.但我遇到运行此代码的问题:
import queue
def worker():
while True:
item = q.get()
do_work(item)
q.task_done()
def main():
q = queue.Queue(maxsize=0)
for i in range(num_worker_threads):
t = Thread(target=worker)
t.daemon = True
t.start()
for item in source():
q.put(item)
q.join() # block until all tasks are done
main()
Run Code Online (Sandbox Code Playgroud)
问题:希望有人解释for循环正在做什么,我只是运行代码时出错,所以我不得不遗漏一些东西.
问题发生错误: NameError:未定义全局名称'num_worker_threads'
谢谢-Python新手 -
我已经搜索了这个,并遇到了列表返回功能,但我仍然不明白.
我试图理解为什么Print函数返回另一个函数返回以下内容:
生日快乐
生日快乐
无无
我的代码:
def happy():
print("Happy Birthday")
def main():
print( happy(), happy() )
main()
Run Code Online (Sandbox Code Playgroud)
我知道该函数返回一个名为None的特殊对象.但我只是想了解它为什么会这样做?
python ×6
python-3.x ×2
queue ×2
buffer ×1
compare ×1
list ×1
printing ×1
return ×1
time ×1
while-loop ×1