小编use*_*328的帖子

导入仅在一个文件中使用的python模块

更具体地说,假设我有多个.py文件,其中main.py导入了os,pygame,math和其他所有.py文件,mymodule01.py等文件。

我的问题是,每当main.py调用我的.py文件之一,并且该文件包含os.listdir()之类的内容时,我总是收到错误消息,说“未定义os”之类的东西。

我应该只在我编写的每个.py文件中导入所有必需的模块,还是有更好的方法,例如每个文件都可以识别的集中导入?尤其是对于pygame,这将非常令人困惑,因为我必须在每个文件中初始化pygame才能使用它的功能,更不用说我是否想在屏幕上显示内容。

python模块和软件包文档没有太大帮助,或者我真的很慢,还考虑到在遵循文档之后,在包含以下内容的init .py文件中添加例如import mymodule01.py之后,我仍然遇到未找到的错误。夹。

python import module package

5
推荐指数
2
解决办法
1613
查看次数

如何从 Python 函数外部停止执行该函数?

所以我有一个我使用的库,并且在我的一个函数中我调用了该库中的一个函数,这恰好需要很长时间。现在,同时我有另一个线程在运行,我在其中检查不同的条件,我想要的是,如果满足条件,我想取消库函数的执行。

现在我正在检查函数开始时的条件,但是如果在库函数运行时条件发生变化,我不需要它的结果,并且想从中返回。

基本上这就是我现在所拥有的。

def my_function():
    if condition_checker.condition_met():
        return
    library.long_running_function()
Run Code Online (Sandbox Code Playgroud)

有没有办法每秒运行一次条件检查,并在满足条件时从 my_function 返回?

我考虑过装饰器、协程,我正在使用 2.7,但如果这只能在 3.x 中完成,我会考虑切换,只是我不知道如何实现。

python function exit

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

Haskell循环Ord关系

我试图为岩石剪刀定义一种数据类型,并想出了类似这样的东西:

data Hand = P | S | R deriving (Show, Eq)

instance Ord Hand where
  compare R P = LT
  compare P R = GT
  compare R S = GT
  compare S R = LT
  compare P S = LT
  compare S P = GT
  compare _ _ = EQ
Run Code Online (Sandbox Code Playgroud)

在编写所有我想知道是否有任何方法来定义数据类型只是让它派生Ord然后指定它 compare R P = LTcompare P R = GT不是必须手动编写所有比较时,对于三个元素它没关系但是每个都会变得乏味添加元素.

haskell algebraic-data-types

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