所以我有一个文件路径的字符串列表,我想只打印不以.zip结尾的路径。我不能使用glob或os,因为这是一个列表,并且没有通过os.chdir(“/ mydir”)找到。这就是我尝试过的,它不起作用。
list = ['/user/adi/test.zip', '/user/adi/test.csv', /user/adi/testing.zip, /user/adi/testing.txt]
for lis in list:
if lis not in ['.zip']:
print lis
无论如何我要这样做?
提前致谢:)
答案 0 :(得分:7)
您可以使用:
if not lis.endswith('.zip'):
print lis
os.path.splitext
也可能有用,具体取决于你正在做什么。
正如评论中所指出的,如果你想过滤列表,你可以简单地使用上面的表达式作为列表理解的一部分:
list_without_zip = [ x for x in list_with_zip if not x.endswith('.zip') ]
答案 1 :(得分:2)
print filter(lambda x:not x.endswith(".zip") , my_list)
或者如果你想让它看起来一样......
print "\n".join(filter(lambda x:not x.endswith(".zip") , my_list))