所以我的第一个python程序,我从PYPI下载了macholib包,然后解压缩并运行安装了setup.py使用python install,现在我正在尝试运行一个程序,我首先导入macholib,然后当我尝试访问像Macho这样的方法,它给我一个错误,说macholib模块没有名为Macho的属性.我的理解是macholib是一个包而不是一个模块或者什么东西,因此我不能使用包的内容.请回答,我在这么简单的新手问题上浪费了太多时间.使用最新版本的python运行mac.
码:
import sys
import macholib
MachO(DivXInstaller.dmg)
Run Code Online (Sandbox Code Playgroud)
我尝试了macholib.MachO(DivXInstaller.dmg)和macholib.MachO.MachO(DivXInstaller.dmg)
Error for python test.py
Traceback (most recent call last):
File "test.py", line 3, in <module>
MachO(DivXInstaller.dmg)
NameError: name 'MachO' is not defined
Run Code Online (Sandbox Code Playgroud)
你的代码中有这一行:
MachO(DivXInstaller.dmg)
Run Code Online (Sandbox Code Playgroud)
但是,名称MachO没有在任何地方定义.所以Python告诉你这个错误
NameError: name 'MachO' is not defined
Run Code Online (Sandbox Code Playgroud)
如果要使用名称MachO下的MachO模块,则必须导入它:
from macholib import MachO
Run Code Online (Sandbox Code Playgroud)
你没有这样做,这是你的错误的原因.你所做的只是
import macholib
Run Code Online (Sandbox Code Playgroud)
它为您提供了可以使用的名称"macholib".但是,macholib主要包含您无法访问的子模块,因此不是特别有用.如果您不想污染命名空间,可以将MachO导入为
import machlibo.MachO
Run Code Online (Sandbox Code Playgroud)
这使您可以访问MachO模块 macholib.MachO
你还没有定义DivXInstaller.dmg,所以这将是你的下一个错误.我建议您在开始编程之前先阅读Python教程.
| 归档时间: |
|
| 查看次数: |
697 次 |
| 最近记录: |