值错误:从脚本运行路径找不到子字符串

时间:2015-02-09 07:30:15

标签: python python-2.7 python-3.x

我有以下代码抛出错误:ValueError: Substring Not Found.

import os, sys
myCwd = os.path.abspath(__file__)
svtestcases = os.path.normpath('Tests/SVTestCases')
tcPath = myCwd[:myCwd.index(svtestcases) + len(svtestcases)]
sys.path.insert(0, tcPath)

错误来自myCwd.index(svtestcases)部分的第四行。

python脚本的路径是:"C:\Netra_Step_2015\Tests\SVTestcases\TC-Regression"

可能是什么问题?另外,为什么在':'之前有myCwd.index?有人可以解释一下吗?

1 个答案:

答案 0 :(得分:0)

看起来像你的" myCwd"和" svtestcases"没有任何共同点,当你试图找到子串索引时,#s; svtestcases" ,它与myCwd完全不匹配。

例如:

>>> a = '/Test/test1/test2/test3'
>>> a.index('/Test')
0
>>> a.index('test2')
12
>>> 
>>> a.index('abc')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
>>> 

虽然评论已经提到了它。我刚刚添加了一些代码,使其更容易理解。它还告诉你结肠部分。 阅读有关切片的更多信息,你会发现它。