pyhton 类似这样的 ls /home/work |grep -v tgz | grep traffic 获得文件夹为一个数组
时间: 2023-12-14 20:36:27 浏览: 24
可以使用Python的os模块和subprocess模块来实现这个功能。
下面是一个使用os模块的示例代码:
```python
import os
folder_list = []
for folder in os.listdir('/home/work'):
if os.path.isdir(os.path.join('/home/work', folder)):
if 'tgz' not in folder and 'traffic' in folder:
folder_list.append(folder)
print(folder_list)
```
这里首先使用`os.listdir`函数列出`/home/work`目录下的所有文件和文件夹,然后使用`os.path.isdir`函数判断是否为文件夹。接着使用`not in`操作符和`in`操作符进行过滤,最后将符合条件的文件夹名添加到`folder_list`数组中。
如果要使用subprocess模块,可以使用类似下面的代码:
```python
import subprocess
output = subprocess.check_output("ls /home/work | grep -v tgz | grep traffic", shell=True)
folder_list = output.decode().split()
print(folder_list)
```
这里使用`subprocess.check_output`函数调用`ls`命令,并通过管道符和`grep`命令过滤出符合条件的文件夹名。最后使用`decode`方法将二进制字符串解码为普通字符串,并使用`split`方法分割成数组。