511
|
1 #!/usr/bin/env python
|
|
2
|
|
3 """
|
|
4 execute a command and log its output to a file
|
|
5 """
|
|
6
|
|
7 import sys
|
|
8 from subprocess import list2cmdline, STDOUT
|
|
9 from subprocess import check_output as call
|
|
10
|
|
11 def main(args=sys.argv[1:]):
|
|
12 """CLI"""
|
|
13
|
|
14 usage = '%prog outputfile command [args]'
|
|
15 usage += '\n' + __doc__
|
|
16 if args < 2:
|
|
17 print 'Usage: ' + usage
|
|
18 sys.exit(1)
|
|
19
|
|
20 path = args.pop(0)
|
|
21 commandline = list2cmdline(args)
|
|
22
|
|
23 with file(path, 'w') as w:
|
|
24 output = call(args, stderr=STDOUT)
|
|
25 w.write('\n\n'.join([commandline, output]))
|
|
26
|
|
27 if __name__ == '__main__':
|
|
28 main()
|