小编use*_*030的帖子

使用 Python 3 查找可用于 Gtk+3 小部件的信号/事件

我正在 Python 中使用 Gtk,但我不知道如何找出小部件可用的事件/信号。大多数教程将展示如何使用“单击”事件,但是是否有更多事件/信号可用于任何特定的小部件?是这样吗?

我在哪里可以找到可用于任何特定小部件的列表?

gtk python-3.x

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

os.walk 目录名中的空列表是什么?

当使用 python 3.5os.walk()并查看目录名输出时,我得到很多空列表(返回[ ])。我不知道为什么。

import os
tdir = '/home/pontiac/testdir'

gen0 = os.walk(tdir)
print(next(gen0)[1])
print(next(gen0)[1])

gen1 = os.walk(tdir)

for ea in gen1:
    print(ea[1])
Run Code Online (Sandbox Code Playgroud)

输出:

['t2', 't1']

[]

['t2', 't1']

[]

[]
Run Code Online (Sandbox Code Playgroud)

python os.walk python-3.5

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

首次运行后,使用asyncio基本示例的Jupyter笔记本使用python 3.6.1给出:RuntimeError:事件循环已关闭

在Jupyter Notebook(python 3.6.1)中,我在(18.5.3.1.1.示例:Hello World协程)中运行了基本的python docs Hello_World,并注意到它给了我一个RuntimeError.在尝试了很长时间以找到程序问题后(我的理解是文档可能不是完全最新的),我终于注意到它只在第二次运行后执行此操作并在重新启动的内核中进行测试.我从那以后在两个连续的单元格(1和2)中复制了相同的小python程序,发现它在第二个而不是第一个上给出了错误,并在之后给出了错误.这在重新启动内核后重复此操作.

import asyncio

def hello_world(loop):
    print('Hello World')
    loop.stop()

loop = asyncio.get_event_loop()

# Schedule a call to hello_world()
loop.call_soon(hello_world, loop)

# Blocking call interrupted by loop.stop()
loop.run_forever()
loop.close() 
Run Code Online (Sandbox Code Playgroud)

追溯:

RuntimeError                  Traceback (most recent call last)
<ipython-input-2-0930271bd896> in <module>()
  6 loop = asyncio.get_event_loop()
  7 # Blocking call which returns when the hello_world() coroutine
----> 8 loop.run_until_complete(hello_world())
  9 loop.close()

/home/pontiac/anaconda3/lib/python3.6/asyncio/base_events.py in run_until_complete(self, future)
441         Return the Future's result, or raise its exception.
442         """
--> 443         self._check_closed()
444 …
Run Code Online (Sandbox Code Playgroud)

python-asyncio jupyter-notebook python-3.6

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

最好把generator.close()放在哪里?

我今天早上构建了这个类,它工作得很好而且很紧凑,但因为它是通过调用一个新的生成器来工作的,每次我担心我会在内存中留下一堆。我很乐意在yield 语句之后立即使用finally 来执行此操作。看起来会干净一点。

class Enter:
    def __init__(self,Entries, container=[], keyName = "Key", valueName = "Value"):
        self.Dict = {}
        self.Entries = Entries
        self.container = container
        self.keyName = keyName
        self.valueName = valueName

    def gen(self,dis):
            print(dis)
            yield input("Entry: ")

    def enter(self):
        for ea in range(self.Entries):
            print("\nPlease input a", self.keyName, "then a", self.valueName)
            x = next(self.gen("\nEnter a " + self.keyName + ":"))
            y = next(self.gen("\nEnter a " + self.valueName + ":"))
            self.Dict.update({x:y})
        retrun self.Dict

    def enterList(self):
        lst = []
        for ea in range(self.Entries):
            print("\nSome Message") …
Run Code Online (Sandbox Code Playgroud)

python generator python-3.x

-4
推荐指数
1
解决办法
564
查看次数