FileNotFoundError:运行unittest python时
对于我的新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
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()将显示脚本所在的当前工作目录。我理解你的问题。您想访问我已发布图像的解决方案文件夹中的文件吗