我从上到下搜索了这个网站,但还没有找到一种方法来真正实现我在 Python3x 中想要的东西。这是一个简单的玩具应用程序,所以我想我可以在断言中编写一些简单的测试用例,然后就到此为止了。它确实会生成报告等,因此我想确保我的代码在更改时不会做任何奇怪的事情。
我当前的目录结构是:(仅包含相关部分)
project
-model
__init__.py
my_file.py
-test
my_file_test.py
我很难让 my_file_test.py 导入 my_file.py。
就像我说过的。我从上到下搜索了该网站,但没有解决方案。我的 Python 版本是 3.2.3,在 Fedora 17 上运行。
之前尝试过的尝试:https://stackoverflow.com/questions/5078590/dynamic-imports-relative-imports-in-python-3 https://stackoverflow.com/questions/4655526/how-to-accomplish-this-relative-import-in-python
从父文件夹导入模块 https://stackoverflow.com/questions/714063/python-importing-modules-from-parent-folder
谁能解释一下 python 的相对导入? https://stackoverflow.com/questions/1918539/can-anyone-explain-pythons-relative-imports
python中如何实现相对导入 https://stackoverflow.com/questions/4655526/how-to-accomplish-this-relative-import-in-python
几乎在每次尝试中,我都会遇到以下错误:
导入错误:没有名为 * 的模块
或者
ValueError:尝试在非包中进行相对导入
这里发生了什么。我已经尝试过 SO 以及整个互联网上所有被接受的答案。这里没有做任何花哨的事情,但作为 .NET/Java/Ruby 程序员,这被证明是直观的绝对定义。
编辑:如果重要的话,我尝试加载我试图在 REPL 中导入的类,并得到以下信息:
>>> import datafileclass
>>> datafileclass.methods
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
>>> x = datafileclass('sample_data/sample_input.csv')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'module' object is not callable
如果重要的话......我知道类中的功能有效,但我无法导入它,这导致现在无法测试。将来肯定会造成整合问题。 (为保护无辜者,化名)
在几周内获得本次库迭代所需的功能......任何帮助都可能有用。本来可以用 Ruby 完成,但客户希望将 Python 作为学习体验,