我试图从python脚本运行OpenStack API。我用subprocess模块来做到这一点。在python脚本中运行命令并将结果存储在csv文件或元组中
output = subprocess.check_output('nova-manage vm list',shell=True,)
print output
“新星管理的虚拟机列表” 出具有作为“实例,节点,类型,状态,启动,图像,内核,RAMDISK,项目,用户区,索引列的表。
instance node type state launched image kernel ramdisk project user zone index
ubuntu12_1 compute1 m1.small active 2014-03-25 07:57:51 946fbcc5-03c3-48a1-9ef9-f6d6362c6152 53963e60e44c4c54b7507e81cf11ef2c f47f5c0a54374a4b8aa78e5349246b0f None 0
ubuntu12_2 compute1 m1.small active 2014-03-25 07:59:03 946fbcc5-03c3-48a1-9ef9-f6d6362c6152 53963e60e44c4c54b7507e81cf11ef2c f47f5c0a54374a4b8aa78e5349246b0f None 0
ubuntu12_3 compute2 m1.small active 2014-03-26 07:27:16 946fbcc5-03c3-48a1-9ef9-f6d6362c6152 53963e60e44c4c54b7507e81cf11ef2c f47f5c0a54374a4b8aa78e5349246b0f None 0
ubuntu12_4 compute2 m1.small active 2014-03-26 07:46:56 946fbcc5-03c3-48a1-9ef9-f6d6362c6152 53963e60e44c4c54b7507e81cf11ef2c f47f5c0a54374a4b8aa78e5349246b0f nova
以上就是运行“新星管理的虚拟机列表”命令输出的示例例子。
我需要检查只输出的前4列,我应该如何只得到第4列出来的完整的表格?我应该如何将这4列的值存储在csv文件中并访问它?
我是Python脚本编程的初学者,知识很少,所以请在我的问题上提出一些看法。
谢谢,
你能否提供关于输出更多的细节?它看起来怎样?可能还有其他两个选项:直接使用[OpenStack-API绑定](http://www.ibm.com/developerworks/cloud/library/cl-openstack-pythonapis/index.html?ca=drs-) (避免子进程的东西)或使用sed(或其他unix命令行工具)处理“nova-manage”输出 – dorvak
感谢dorvak,您提供的链接非常有帮助。 – Veena