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()转换之后才能分割。之后使用正则表达式筛选。

import subprocess def listDataPath(self): cmd = 'dir ' + self.OriginalData_path.replace('/','\\') files = subprocess.check_output(cmd,shell=True) files = str(files, enc...
简 介: 利用os,commands,subprocess模块可以在 python 调用 windows 命令 。从使用方便性上来看,利用os.popen可以 执行 windows 的程序并可以获得返回内容。 关键词: python ,cmd #mermaid-svg-R1Y68opK967upfEx .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#33.
列出E:\机器学习\ Python 数学建模算法与应用课件 文件夹 下所有的pptx 文件 和txt 文件 import os fn=[filename for filename in os.listdir('E:\机器学习\ Python 数学建模算法与应用课件') if filename.endswith(('.pptx','.txt'))] print(fn) 1、其 os.listdir()用来列出指定 文件夹 所有 文件 和子 文件夹 清单 2、字符串方法endswith()用来测试字符串是否以指定的字符串
Windows 资源管理器的搜索框,可以查找 文件 文件夹 。但是有时候速度不够快,使用Pyhon也可以查找 文件 ,而且速度很快。人生苦短,我用 Python 。 具体操作见下面的代码: from pathlib import Path while True: f = input('请输入要在哪个 文件夹 (如【D:\\】或【D:\\案例\\】)下进行查找:') f = Path(f.strip()) if f.exists() and f.is_dir(): break else: