在下面的代码中,if path_parts[-2:-1]=='training'
我希望我的功能可以进入计算该位置的文件。我的print(path_parts[-2:-1])
表明代码正在寻找培训'文件夹我正在寻找,但评估并不能证明是真的。
我做错了什么?
for dirs_name, sub_dirs, files in os.walk(file_path):
count=0
name=''
if os.path.basename(dirs_name)== '2016':
path_parts = [x.lower() for x in dirs_name.split('\\')]
print(path_parts[-2:-1])
if path_parts[-2:-1] == 'training':
'statement'
Output of the print statement
['training']
['training']
['training']
['training']
答案 0 :(得分:3)
正如您从输出中看到的那样,path_parts[-2:-1]
是['training']
。这是一个清单。但是,您要将其与'training'
进行比较,后者是一个字符串。
你的意思是:
# Is this sublist equal to a list containing the string 'training'?
if path_parts[-2:-1] == ['training']:
或更简单:
# Is the element at position -2 equal to the string 'training'?
if path_parts[-2] == 'training':
答案 1 :(得分:3)
您的path_parts[-2:-1]
会返回一个列表(因为您对列表进行切片),然后将其与字符串'training'
进行比较。这总是False
因为这些列表和字符串是无法比拟的。
但您可以使用path_parts[-2]
if path_parts[-2] == 'training':