标签: python-module

python导入相关模块

我在同一目录中有Python模块a.py和b.py. 如果a.py可能已从其他目录导入或直接执行,我如何可靠地从a.py导入b.py?此模块将分发,因此我无法对单个路径进行硬编码.

我一直在玩__file__,sys.path和os.chdir,但感觉很乱.而且__file__并不总是可用的.

谢谢

python python-module relative-path python-import

0
推荐指数
1
解决办法
689
查看次数

具有类和导入的模块

如果我在一个模块中使用一个类,我怎么能在它的实例中使它成为"顶级"?

结构体:

/package
    __init__.py
    /subPackage
        __init__.py
        module.py
        subModule.py
    /theScript.py
Run Code Online (Sandbox Code Playgroud)

python theScript.py

TheScript的来源:

import package.subPackage.module
package.subPackage.module.method()
Run Code Online (Sandbox Code Playgroud)

/package/subPackage/module.py的来源:

class module:
    def method(self): pass
moduleInstance = module()
Run Code Online (Sandbox Code Playgroud)

我猜我问什么是我会怎么做它,这样我就不必做package.subPackage.module.moduleInstance.method()和能package.subPackage.module.method()

我知道我可以删除类和实例,但我更喜欢这个类,因为如果有人想要不需要直接修改我们的源代码就更容易进行子类化,但如果我最终必须使用方法而不是类/方法在模块中.

python python-module

0
推荐指数
1
解决办法
87
查看次数

Python 中所有模块的全局变量

我目前正在用 Python 进行一个游戏项目,但我发现自己在 Python 背后的“概念”方面苦苦挣扎,因为我已经习惯了 C 或 Java 等语言。

我曾经试图“鸿沟”我在几个文件中的项目(即称为模块,如果我没有记错,虽然他们都在为我将与C源文件做同样的文件夹中)与不同的主题:objects.pymap.pyrendering.py等。它们包含与这些概念相关的不同类和函数。我有一个main.py包含我所有的“主要”函数(例如new_game等等)以及第一个“调用”,它将调用main_menu.

我还有一个constants.py文件,用于存储常量值。现在问题是,我的游戏中有几个“全局”变量和对象:玩家对象、地图等等。我希望在所有模块中保持这些变量的全局性,并且能够从任何地方访问和修改它们。

我首先创建一个global_variables.py在我列出的所有我的变量文件(如map = Noneplayer = None等),期待通过其他模块进行修改。

问题是,每次我global_variables再次调用 import时,它都会遍历整个代码并将它们全部重新初始化为None,这显然是我不想要的。

我在另一个 stackoverflow 线程上读到一个提示:init()在我的文件中创建一个函数,我将在其中初始化所有变量并将它们声明为全局变量。这样,我调用global_variables.init()一次,然后我可以简单global_variables.player地访问播放器并对其进行修改。

它运行良好,但我觉得它很杂乱。我有很多global foo, 其次是foo = None感觉像是不必要的代码行。此外,当我输入 global_variables 时,IDE 无法“访问”变量。,它不建议将变量作为自动完成,这很痛苦。

那么还有另一种方法吗?这个想法是从任何函数中“声明”变量,以便 IDE 理解它们在那里,但只“初始化”它们一次,这样我就可以避免每次导入global_variables模块时重置它们。

python module python-module global-variables

0
推荐指数
1
解决办法
4764
查看次数

使用 Python 访问打开的 Excel 工作簿

如何使用win32com模块找到打开的 Excel 工作簿?我只想读取尚未保存的 Excel 工作簿中的单元格。或者有什么文件可以参考吗?

python excel python-module win32com openpyxl

0
推荐指数
1
解决办法
1916
查看次数

python中的模块链接是什么意思

我不确定模块链接在 python 中的确切含义。例如,在 spacy 问题中,我看到https://github.com/explosion/spaCy/issues/1523

python -m spacy link jieba zh

这是如何运作的?

最重要的是,我如何确保以requirements.txt编程方式在某处或某处发生这种情况?

python python-module python-3.x

0
推荐指数
1
解决办法
220
查看次数

Anaconda 模块错误……“没有名为 pip 的模块”

当我尝试在 anaconda 中安装 pymongo 时,它显示错误。 在此输入图像描述 请帮我解决这个问题

python python-module python-3.x anaconda sublime-anaconda

0
推荐指数
1
解决办法
7748
查看次数

Python 将整数转换为小时

我进行了一些数学计算,结果我有一些整数分钟。现在我需要帮助将此整数转换为此格式hh:mm:ss尝试使用日期时间执行此操作但没有成功。

NUM = 594.15
Run Code Online (Sandbox Code Playgroud)

预期转换输出:

9:54:09
Run Code Online (Sandbox Code Playgroud)

python django math python-module django-views

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

如何在python中打印内置模块的源代码?

我想打印一个内置方法的源代码。例如,数学是python的内置模块,我想打印ceil的源代码

我知道如何使用inspect.getsource打印自定义模块的源代码

需要帮助
我正在尝试创建一个程序,我可以在其中调用任何内置方法或函数,并且它将仅显示该函数或模块的源代码。
Python 几乎拥有内置库中的所有内容,我想使用这些库

示例:

input: factorial
output:
        def factorial(n):
            if n == 0:        
                return 1      
            else:      
                return n * factorial(n-1)
Run Code Online (Sandbox Code Playgroud)
工作得很好
import inspect
inspect.getsource(factorial)
Run Code Online (Sandbox Code Playgroud) 不起作用......导致类型错误
import inspect
import math
print(inspect.getsource(math.ceil)
Run Code Online (Sandbox Code Playgroud)
TypeError: <built-in function ceil> is not a module, class, method, function, traceback, frame, or code object
Run Code Online (Sandbox Code Playgroud)

提前致谢 :)

python python-module ipython

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

排除__builtin__模块

__builtin__Python中的杂波模块开发,有很多的函数和类具有非常通用名称命名空间(例如max,sum,id,hash,往往得到变量命名的方式,当一个上下文感知IDE之外的人可以意外覆盖一个等)名字没有注意到.

有没有办法阻止从某个文件隐式访问此模块并需要显式导入?

有点像:

from __builtins__ import hash as builtin_hash

hash = builtin_hash(foo)
Run Code Online (Sandbox Code Playgroud)

我知道这是不好的做法.

python-module built-in python-3.x

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

为什么Python的OS模块在它们的UNIX对应物之后没有命名它的功能?

一些混淆以及它们可以被命名为:

os.chdir() 可能 os.cd()

os.getcwd() 可能 os.pwd()

os.listdir 可能 os.ls()

对于习惯于UNIX术语的用户来说,这些将更加直接.

python python-module

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

如何安装Py-Moneyed?

我正在尝试使用Django-Money将MoneyField添加到我的 Django 应用程序中。

根据要求,我需要安装py-moneyed v0.4或更高版本。

我检查了py-moneyed但它没有提到如何安装 py-moneyed?

有人可以帮助我在我的环境中安装py-moneyedDjango-Money吗?有没有一个pipeasy_install包可以做到这一点?

python django pip python-module

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

如何将python模块创建为单个可调用函数?

我想将模块编写为函数而不是类。

有没有办法使这项工作按预期进行?

greet.py
def main(x):
    print(f'Hello {x}!')
Run Code Online (Sandbox Code Playgroud)

现在我如何编写模块以便在greet执行时main运行。

main.py
import greet

greet('Foo') # output: Hello Foo!
Run Code Online (Sandbox Code Playgroud)

python module python-module python-3.x

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