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
-
Windows中显示文件夹子项目的命令式“dir ”,之后的文件夹路径只能使用“\”,而不可以使用“/”。
-
subprocess模块可以打开子进程,执行shell命令。check_output函数可以将命令的结果返回。
-
注意返回并不是一个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: