我想从代码源获取.exe文件,但是执行python main.py build
会导致此错误:
C:\MyProject>python main.py build
Traceback (most recent call last):
File "main.py", line 5, in <module>
import parserz as parser
File "C:\MyProject\parserz.py", line 9
import * from modbus
^
SyntaxError: invalid syntax
请问有什么主意吗? 点子可能有问题吗?
答案 0 :(得分:1)
在python中,您可以这样导入
from modbus import *
此外,在python中,仅导入所需内容是一种很好的做法。
所以您不应该使用from .... import *
来代替
from modbus import something
答案 1 :(得分:1)
您可以导入模块并使用
运行所有常规代码import modbus
或者您可以从文件中导入所有类,函数,变量等,以供以后在代码中使用
from modbus import *
为了说明我的观点:
如果您有两个文件 my_imports.py 和 main.py ,其中包含以下代码:
my_imports.py:
print('Imported module my_imports')
def add_nums(a,b):
return a+b
def another_function():
return 'this function was also called'
(版本1)main.py:
import my_imports
# this code would fail because the function isn't imported
print(add_nums(5,7))
(版本2)main.py:
from my_imports import *
print(add_nums(5,7))
print(another_function())
Imported module my_imports
,但是当您尝试使用
在{strong> my_imports.py 中定义的add_nums
函数。Imported module my_imports
,但您还将看到在输出中调用其他两个函数的结果,因为它们现已可用用于 main.py :12
this function was also called
如其他一些答案中所述,您也可以仅从其他python脚本中导入所需的功能。例如,如果您只想使用add_nums方法,则可以使用
from my_imports import add_nums
在您的 main.py 中。
答案 2 :(得分:0)
通常from modbus import *
就足够了。但是导入所有内容通常不是一个好主意,因此我建议使用import modbus as mb
。另外,您可能想要研究pyModbus或minimalModbus之类的Modbus库。这是一个很好的链接,描述了他们的优缺点:Python modbus library