小编Bai*_*ain的帖子

在python中使用Queue

我正在尝试在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

python queue python-3.x

20
推荐指数
2
解决办法
7万
查看次数

时间循环python

我正在尝试在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 time while-loop

7
推荐指数
1
解决办法
5万
查看次数

比较python中的列表以检测相等性

首先,我是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 compare list

6
推荐指数
2
解决办法
1万
查看次数

在python中创建一个缓冲区

我对 Python 没有太多经验,需要弄清楚一些关于缓冲的事情:

我想生成一个列表,我可以在其中分配一定数量的“缓冲区”空间(不知道具体情况),以生成一个整数列表。如果“缓冲区”已满,我假设它需要刷新命令?或者您将如何清除缓冲区以继续将内容放入该缓冲区?

这是我的代码示例:

for i in range(0,500):
    randoms = random.randint(0,100000)
    looplist.append(randoms)
Run Code Online (Sandbox Code Playgroud)

我想要的是在循环列表中,成为一种我假设的缓冲区?其中如果循环列表中的最大缓冲区空间已满,则需要清除(在此期间是否有暂停?或发生了什么)列表以继续重新生成整数到该列表/缓冲区。

第 2 部分问题:想要解释缓冲区如何为 Python 工作的简单解释吗?还是python的内存管理只是禁用需要分配自己的缓冲区?(如果我们也愿意,我们还能做吗?)

如果我的问题看起来范围很广,我会编辑我的问题,尽量做到我所知道的描述性。

python buffer

5
推荐指数
1
解决办法
1万
查看次数

在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新手 -

python queue multithreading python-3.x

3
推荐指数
1
解决办法
2万
查看次数

为什么这个函数也会返回"None None"?

我已经搜索了这个,并遇到了列表返回功能,但我仍然不明白.

我试图理解为什么Print函数返回另一个函数返回以下内容:

生日快乐

生日快乐

无无

我的代码:

def happy():
    print("Happy Birthday")



def main(): 

    print( happy(), happy() )


main()
Run Code Online (Sandbox Code Playgroud)

我知道该函数返回一个名为None的特殊对象.但我只是想了解它为什么会这样做?

python printing return

2
推荐指数
1
解决办法
333
查看次数