我有一个以不同扩展名结尾的字符串列表,如何告诉Python不打印.zip字符串

Adi*_*ous 1 python python-2.7

所以我有一个文件路径的字符串列表,我想只打印不以.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
Run Code Online (Sandbox Code Playgroud)

无论如何我要这样做?

提前致谢 :)

mgi*_*son 7

你可以使用:

if not lis.endswith('.zip'):
   print lis
Run Code Online (Sandbox Code Playgroud)

os.path.splitext 取决于你正在做什么也可能是有用的.


正如评论中所指出的,如果您想要过滤列表,您只需使用上面的表达式作为列表理解的一部分:

list_without_zip = [ x for x in list_with_zip if not x.endswith('.zip') ]
Run Code Online (Sandbox Code Playgroud)