<p>排队</p>
<pre><code>buildid=BuildLocation.split('\')[-1]
</code></pre>
<p>反斜杠实际上是在转义下面的引号
所以,Python认为这实际上是你的字符串:</p>
<pre><code>'[-1])
</code></pre>
<p>相反,您应该执行以下操作:</p>
<pre><code>buildid=BuildLocation.split('\\')[-1]
</code></pre>
<p>Python会将字符串解释为</p>
<pre><code>\\
</code></pre>
<p>有趣的是,StackOverflow的语法highlighter提示了这个问题。如果查看代码,它会将第一个斜杠之后的所有内容都视为字符串的一部分,一直到代码示例的结尾</p>
<p>你的代码中还有一些其他问题,所以我试着帮你清理一下(但是,我没有该文件的副本,所以很明显,我无法测试这个)</p>
<pre><code>import re
import os.path
build_location= r'\\umor\locations455\INT\A1234ABCDE120083.1'
label = get_build_label(build_location)
# Python prefers function and variable names to be all lowercase with
# underscore separating words.
def get_build_label(build_location):
build_id = build_location.split('\\')[-1]
notes_path = os.path.join(build_location, build_id + '_notes.txt')
# notes_path is the filename (a string)
try:
with open(notes_path) as notes:
# The 'with' keyword will automatically open and close
# the file for you
for line in notes:
if line.find('Engr Label'):
label = line.split(':')[-1]
return label
except IOError:
# No need to do 'os.path.exists' since notes_path doesn't
# exist, then the IOError exception will be raised.
pass
print label
</code></pre>