【发布时间】:2019-07-16 18:37:29
【问题描述】:
我还是 python 新手。我正在使用 psutil 文档的配方按名称查找进程。现在,我正在尝试将结果保存到 csv 文件中。但是,我坚持用正确的格式编写 csv。
我尝试对 3 个字符串对象使用 zip(),如下所示:
rows = zip(processCreationTime, processName, processCmd)
with open('/var/log/supervisor_process.log', 'w') as f:
writer = csv.writer(f)
for row in rows:
writer.writerows(rows)
整个脚本;
import psutil
import time
import csv
def find_procs_by_name(name):
"Return a list of processes matching 'name'."
ls = []
for p in psutil.process_iter(attrs=['name']):
if p.info['name'] == name:
ls.append(p)
return ls
def main():
listProc = find_procs_by_name('supervisord')
if len(listProc) > 0:
for elem in listProc:
processName = elem['name']
processCreationTime = time..strftime('%Y-%m-%d', time.localtime(elem['create_time']))
processCmd = elem['cmdline']['0']
print((processCreationTime, processName, processCmd))
# CSV code here
###########
else:
print('Not found')
if __name__ == '__main__':
main()
csv文件的内容应该和不带括号的print语句内容一致:
'2019-06-12', 'supervisord', '/usr/bin/python'
'2019-06-12', 'supervisord', '/usr/bin/python'
'2019-07-15', 'supervisord', '/usr/bin/python'
我对数据结构的经验很少,因此欢迎提出任何建议。谢谢。
【问题讨论】:
标签: python-3.x