Впорос такого характера. Что лучше - объявить переменную (которая станет глобальной, т.е. - вроде как нежелательной), или использовать просто return значения из функции?
def proc_get_pid(pidfile): try: proc_pid = open(pidfile, 'r').read().rstrip('\n') return proc_pid except IOError as e: print('ERROR: %s' % e) sys.exit(1) def cpu_get_usage(pid): cpu_info = psutil.Process(pid) cpu_perc = cpu_info.get_cpu_percent() return cpu_perc print('PID = %s; ' % proc_get_pid(pidfile)) print('CPU %% = %s;' % cpu_get_usage(int(proc_get_pid(pidfile))))
В последней строке получается целых 4 скобки, что вроде как не украшает код…
Правильнее (“красивее”, “читабельнее”) ли сделать так:
pid = int(proc_get_pid(pidfile)) print('PID = %s; ' % proc_get_pid(pidfile)) print('CPU %% = %s;' % cpu_get_usage(pid))