Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Fabric run()输出是脏的_Python_Fabric - Fatal编程技术网

Python Fabric run()输出是脏的

Python Fabric run()输出是脏的,python,fabric,Python,Fabric,当我使用: out = run("ls") 我要输入“输出”文件列表。但是,我也有垃圾。如何仅从shell命令中获取 $ fab -p 111 -H server func [server] Executing task 'func' [server] run: ls [server] out: [server] out: [server] out: MQSI 9.0.0.3 [server] out: /opt/IBM/mqsi/9.0.0.3 [server] out: [server]

当我使用:

out = run("ls") 
我要输入“输出”文件列表。但是,我也有垃圾。如何仅从shell命令中获取

$ fab -p 111 -H server func
[server] Executing task 'func'
[server] run: ls
[server] out:
[server] out:
[server] out: MQSI 9.0.0.3
[server] out: /opt/IBM/mqsi/9.0.0.3
[server] out:
[server] out: /var/mqsi/odbc/odbc64.ini
[server] out: file1 file2 file3
[server] out:

MQSI 9.0.0.3
/opt/IBM/mqsi/9.0.0.3

/var/mqsi/odbc/odbc64.ini
file1 file2 file3
所以在
out
中,我从
MQSI
file3
获取所有文本。但我只需要
file1 file2 file3

可能不是织物的错。可能是服务器外壳的问题


我试着用不同的布料隐藏,但没有找到答案

如果我理解正确,通过“trash”,您指的是
ls
命令输出中存在的“\t”、“r”和“\n”字符。我刚才生成的示例如下所示:

>>>> out = run('ls')
>>>> print(out)
'nginx\t\t\t\tnginx.bak.20151206-2209.tar.gz\tnginx.bak.20151206-2258.tar.gz\tphp-fpm.conf.save\r\nnginx.bak.20151206-2047.tar.gz\r\nnginx.bak.20151206-2153.tar.gz\tnginx.bak.20151206-2226.tar.gz\tphp-fpm.conf\t\t\tsupervisord.conf\r\nnginx.bak.20151206-2206.tar.gz\tnginx.bak.20151206-2255.tar.gz\tphp-fpm.conf.default\t\tvarnish'
要将其转换为列表,您可以
.split()
将其转换为列表,如:

>>> out.split()
['nginx', 'nginx.bak.20151206-2209.tar.gz', 'nginx.bak.20151206-2258.tar.gz', 'php-fpm.conf.save', 'nginx.bak.20151206-2047.tar.gz', 'nginx.bak.20151206-2153.tar.gz', 'nginx.bak.20151206-2226.tar.gz', 'php-fpm.conf', 'supervisord.conf', 'nginx.bak.20151206-2206.tar.gz', 'nginx.bak.20151206-2255.tar.gz', 'php-fpm.conf.default', 'varnish']

“得到垃圾”是什么意思?@joeb我修改了答案。在trash下,我指的是MQSI 9.0.0.3/opt/IBM/MQSI/9.0.0.3/var/MQSI/odbc/odbc64.ini现在我只看到一种避免此类问题的方法。使用
out=run(“echo'start'&&ls”)out=out[out.index('start')+1://code>,但这对meGo来说并不好。请看一下“ls”和“find”命令可用的标志。我不需要shell中的文本,除了
ls
之外。在我的例子中,首先shell返回一些多余的信息。