首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在没有交互模式的情况下调用在另一个.py文件中定义的python函数

如何在没有交互模式的情况下调用在另一个.py文件中定义的python函数
EN

Stack Overflow用户
提问于 2015-01-28 01:55:03
回答 1查看 64关注 0票数 0

我写了两个脚本: modbus_master.py和modbus_helpers.py。

modbus_helpers.py只是我定义的一组原始函数,我试图从modbus_master.py调用它们。

当我尝试从windows CLI执行'modbus_master.py‘时,会发生这种情况...

代码语言:javascript
运行
复制
C:\Python27\modbus_simulator>modbus_master.py
Traceback (most recent call last):
File "C:\Python27\modbus_master.py", line 3, in <module>
import modbus_helpers
ImportError: No module named modbus_helpers

但是,如果我转到python交互模式并执行此操作...

代码语言:javascript
运行
复制
C:\Python27\modbus_simulator>python
Python 2.7.5 (default, May 15 2013, 22:43:36) MSC v.1500 32 bit (Intel)  on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import modbus_master

调用modbus_helpers.py的modbus_master.py中的代码运行良好。那么,我如何在这里弥合这个差距,这样我就可以做到这一点并运行脚本而不会出错?

C:\Python27\modbus_simulator>modbus_master.py

Modbus_master.py中的代码:

代码语言:javascript
运行
复制
import sys
import json
import modbus_helpers
import os

def printRegsets():
    print 'these register sets were piped in...\r\n'
    regsetIndex = 0
    for regset in registersetsList:
        print str(regsetIndex) , ':', regset['Name']
        regsetIndex = regsetIndex + 1

path = os.path.normpath('C:\Python27\modbus_simulator\export2.txt')
registersetsList = modbus_helpers.getRegisterSetFromACMExportFile(path)
printRegsets()
EN

回答 1

Stack Overflow用户

发布于 2015-01-28 02:52:36

找到了问题的解决方案。代码没有任何问题。我错过了obvious...modbus_master.py必须与modbus_helpers.py位于相同的文件夹/目录中,'import‘语句才能工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28176901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档