python执行Windows命令查询文件夹中的所有文件

    import subprocess
    def listDataPath(self):
        cmd = 'dir ' + self.OriginalData_path.replace('/','\\')
        files = subprocess.check_output(cmd,shell=True)
        files = str(files, encoding = "GBK")
        files = files.strip().split('\r\n')

        regex = re.compile(r'.*\s(.+\.csv).*')
        listFiles = []
        for path in files:
            match = regex.match(path)
            if match:
                listFiles.append(self.OriginalData_path+'/'+match.group(1))
        return listFiles
  1. Windows中显示文件夹子项目的命令式“dir ”,之后的文件夹路径只能使用“\”,而不可以使用“/”。

  2. subprocess模块可以打开子进程,执行shell命令。check_output函数可以将命令的结果返回。

  3. 注意返回并不是一个str类型,而是一个byte object。需要使用str()转换之后才能分割。之后使用正则表达式筛选。

你可能感兴趣的:(python)