FileNotFoundError:运行unittest python时

FileNotFoundError:运行unittest python时,python,python-unittest,Python,Python Unittest,对于我的新Python项目,我按照 其中trial.py的演示读取trial.text并执行一些操作 with open("trial.txt") as f: f.readlines() 当我从project目录运行它时,代码和测试工作正常 当从tests目录内部运行时,test在trial.txt上抛出文件未找到错误 我还为测试添加了一个上下文模块 import os import sys sys.path.insert(0, os.path.abspath(os.path.join

对于我的新Python项目,我按照

其中
trial.py的演示
读取
trial.text
并执行一些操作

with open("trial.txt") as f:
    f.readlines()
当我从
project
目录运行它时,代码和测试工作正常

当从
tests
目录内部运行时,
test
trial.txt
上抛出文件未找到错误

我还为
测试添加了一个上下文模块

import os
import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../solution')))

import trial

你可以这样做,让它写

解决方案目录中创建一个python脚本,并将其命名为

name -> __init__.py

import trial
并将此文件保存在解决方案目录中

现在尝试从test.py导入解决方案 就像这里的这个:

from Solution import trial
trial.main()
但是请确保trial.py文件中的代码位于一些函数中,如main(),然后您可以调用

trial.main() 
为了更好地理解,请参见我的目录示例


你可以这样做,让它写

解决方案目录中创建一个python脚本,并将其命名为

name -> __init__.py

import trial
并将此文件保存在解决方案目录中

现在尝试从test.py导入解决方案 就像这里的这个:

from Solution import trial
trial.main()
但是请确保trial.py文件中的代码位于一些函数中,如main(),然后您可以调用

trial.main() 
为了更好地理解,请参见我的目录示例


通过在打开文件之前添加此项修复了此问题

file_path = (os.path.dirname(__file__))+"/trail.txt"
with open(filepath,"r") as f:
    f.readlines()

通过在打开文件之前添加此项修复了此问题

file_path = (os.path.dirname(__file__))+"/trail.txt"
with open(filepath,"r") as f:
    f.readlines()

尝试指定包?请参阅此处@AkshayKathpal,但我希望测试和主代码在单独的文件夹中,而不是在您的测试
import..solution.trial
中。您还需要在solution文件夹中添加一个空的
\uuu init\uuuuuuuuupy
文件。@Rajanchan然后我得到的
父模块“”未加载,无法执行相对导入
尝试指定包?请参阅此处@AkshayKathpal,但我希望测试和主代码位于单独的文件夹中,而不是在测试中导入..解决方案。试用您还需要在解决方案文件夹中添加一个空的
\u init\uuuuuuuuupy
文件。@Rajanchan然后我得到
父模块“”未加载,无法执行相对导入
FileNotFoundError:[Errno 2]没有这样的文件或目录:'trial.txt'
仍然在读取文件时错误仍然存在,而不是在导入时。我已在我的系统上对其进行了测试。我从
tests
文件夹内部以及打印
os.getcwd()时运行
test.py
我得到了这个
/home/Bhavani/skcript/tests
yaos.getcwd()将显示脚本所在的当前工作目录。我理解你的问题。您想访问我已发布图像的解决方案文件夹中的文件
FileNotFoundError:[Errno 2]没有这样的文件或目录:“trial.txt”
仍然在读取文件时出错,而不是在导入时。我已经在我的系统上测试了它。我从
tests
文件夹中运行
tests.py
,当我打印
os.getcwd()
时,我得到了这个
/home/Bhavani/skcript/tests
ya os.getcwd()将显示脚本所在的当前工作目录。我理解你的问题。您想访问我已发布图像的解决方案文件夹中的文件吗