亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何導入和使用從另一個文件中導入類的 python 模塊?

如何導入和使用從另一個文件中導入類的 python 模塊?

達令說 2021-09-02 16:40:52
我是一位經驗豐富的 C# 開發人員,但最近不得不編寫一些 python 代碼。我真的很喜歡這種語言,但我正在努力將我的一些代碼拆分成模塊。為簡單起見,我基本上有 2 個模塊,第一個模塊如下所示:文件1.pyfrom file2 import addOperation, volumeOperationclass utils:  def add(self, num1, num2):    op = addOperation(num1, num2)    return op.calculate()  def volume(self, length, width, height):    op = volumeOperation(length, width, height)    return op.calculate()def main():  util = utils()  print(f"Adding 2 and 3 produces { util.add(2, 3) }")  print(f"Volume of a 2x2x2 cube is { util.volume(2,2,2) }")if __name__ == '__main__':  main()文件2.pyclass addOperation:    def __init__(self, num1, num2):        self.num1 = num1        self.num2 = num2    def calculate(self):        return self.num1 + self.num2class volumeOperation:    def __init__(self, length, width, height):        self.width = width        self.height = height        self.length = length    def calculate(self):        return self.width * self.height * self.length_init__.pyimport file1, file2這 3 個文件位于一個名為“mylibrary”的文件夾中,當我運行“python .\file1.py”時,一切都按預期工作。然后使用這個 setup.py 將該模塊構建到一個輪子中:import setuptoolsprint(setuptools.find_packages())setuptools.setup(    name="mylibrary",    version="1.0.0",    author="me",    author_email="[email protected]",    packages=setuptools.find_packages(),    classifiers=[        "Programming Language :: Python :: 3",        "Operating System :: OS Independent"    ],)然后使用“python -m pip install --user mylibrary-1.0.0-py3-none-any.whl”安裝生成的輪子,這似乎工作得很好。我的第二個模塊是以下文件“consumer.py”:import mylibrary.file1if __name__ == '__main__':    util = mylibrary.file1.utils()    print(f"Adding 2 and 3 produces { util.add(2, 3) }")    print(f"Volume of a 2x2x2 cube is { util.volume(2,2,2) }")當我嘗試運行“python .\consumer.py”(我在使用 python 3.7 的 Windows 上,順便說一句)我得到“ModuleNotFoundError:沒有名為‘file2’的模塊”。我嘗試了不同的導入方式,我嘗試__init__.py在 mylibrary 模塊中使用空值,并且我閱讀了其他一些至少有類似問題的 stackoverflow 問題,但我無法讓它工作。我應該修改什么才能使其工作?
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 248 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號