【发布时间】:2017-10-16 05:28:22
【问题描述】:
这就是我的代码在下面的代码框中的样子。当我运行它时,my_dir 和 network_json 的结果分别是:
my_dir: C:\Users\sepham\My Documents\LiClipse Workspace\sengtool_data_funnel
network_json:
C:\Users\sepham\My Documents\LiClipse Workspace\sengtool_data_funnel\example_EventsOfInterestColumnAggregate.json
但是我的test_json_networks.py文件的项目目录结构如下:
C:\Users\sepham\Documents\LiClipse Workspace\sengtool_data_funnel\tests\test_networks
json_files_input = [
'example_EventsOfInterestColumnAggregate.json',
'example_EventsOfInterestConcatenate.json']
@pytest.mark.parametrize('network_json', json_files_input)
def test_network_jsons(network_json):
my_dir = os.path.dirname(os.path.abspath(network_json))
network_json = os.path.join(my_dir, network_json)
print my_dir
print network_json
with open(network_json) as jdata:
network = Network.load(json.load(jdata))
打印语句的结果:
======================== CAPTURED OUTPUT =========================
C:\Users\sepham\My Documents\LiClipse Workspace\sengtool_data_funnel
C:\Users\sepham\My Documents\LiClipse
Workspace\sengtool_data_funnel\example_EventsOfInterestColumnAggregate.json
问题是我需要为 Python 单元测试设置什么环境变量或设置,以便它可以在正确的目录中看到我的文件:
C:\Users\sepham\Documents\LiClipse Workspace\sengtool_data_funnel\tests\test_networks
顺便说一句,我正在使用 LiClipse IDE。
另外,这是运行 python unit-test 时的错误消息,因为它看不到要导入的文件:
E IOError: [Errno 2] No such file or directory: 'C:\\Users\\sepham\\My
Documents\\LiClipse
Workspace\\sengtool_data_funnel\\example_EventsOfInterestCo
lumnAggregate.json'
File "C:\Users\sepham\My Documents\LiClipse
Workspace\sengtool_data_funnel\tests\test_networks\test_json_networks.py",
line 58 IOError
如果我将要导入的文件放在下面的目录中,那么它可以正常工作:
C:\Users\sepham\My Documents\LiClipse Workspace\sengtool_data_funnel
【问题讨论】:
标签: python import directory python-unittest