微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Python 2 和 Python 3 中调用脚本有什么不同?

如何解决在 Python 2 和 Python 3 中调用脚本有什么不同?

import sys
sys.path.append(r'E:\Python')
from hypy import htj
tD = np.array([[1,2,3],[4,5,6]])
x = 0.1
sD,_ = htj.dls_array(np.array([x]),tD)

AttributeError: 'module' 对象没有属性 'htj'

当我在 Spyder Python(3.8 版)中运行上述代码时,我得到了结果。但是,我在需要运行它的 ArcGIS Desktop Python(版本 2)中运行它有困难。

hypy 文件夹在 E:\Python 内。
htj.py一个脚本,具有位于 hypy 文件夹内的 dls_array 函数

sD 后面的“_”是有目的的。

请提出一种处理方法,因为由于软件不可用,我无法从 ArcGIS Desktop 切换到 ArcGIS Pro Python。

解决方法

试试这些:

  1. 确保您在文件夹 __init__.py 中有一个 E:\Python 空文件
  2. 尽量明确地说from .hypy import htj
  3. 尝试:from hypy.htj import dls_array,然后在没有 dls_array 的情况下使用 htj. 4 最重要:尽量避免使用 Python2。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。