Python脚本没有列出目录中的文件?

Nar*_*ruS 0 python python-2.7

我有一个小问题.

我有以下功能:

def getCommands():
    for file in os.listdir(com_dir):
        if file.endswith(com_ext):
            z = string.strip(file, '.gcom')
            print z
Run Code Online (Sandbox Code Playgroud)

在目录(定义方com_dir)中有三个文件.

a.gcom b.gcom c.gcom

跑步的时候 getCommands()

输出如下:

a b

显示文件a和b,但是,未显示c,所有文件都在目录中,并且所有文件都使用相同的文件扩展名:.gcom这也是com_ext可变的.

有没有人有任何提示,为什么文件c没有显示?

旁注:输出中似乎应该有一个空白区域c但是我不确定这是否在手头的问题中有任何部分并且不仅仅是脚本中其他位置的意外空间.

khe*_*ood 6

strip去除你的字符串,无论为了它们发生在两端所有给定角色.如果你的字符串c.gcom,然后strip('.gcom')删除所有的字符.,g,c,om从字符串的结束,留下所剩无几.它不会停止剥离,直到达到一个字符不是.,g,c,om(或删除一切).

如果您有一个以字符串结尾的字符串.gcom,并且您只想删除该结尾,则可以使用:

z = file[:-5]
Run Code Online (Sandbox Code Playgroud)

或者,使用你的com_ext变量

com_ext = '.gcom'
...
if file.endswith(com_ext):
    z = file[:-len(com_ext)]
Run Code Online (Sandbox Code Playgroud)

  • 它将从两端删除字符,对吧? (2认同)