Iam on python 2.6 and Linux , I need input on the below program , here is the spinet of my program
filename='/tmp2/2.txt' def check_file(): """ Run the command parallel on all the machines , if there is a file named /tmp/file2.txt extract file2.txt """ global filename baddr = '' cmd = ("run_al_paral 'ls -al %s'" % (filename)) print(cmd) stdout, stderr, exitcode = run(cmd) print(stdout) lines = stdout.strip().split('\n') print(lines) for line in lines: if 'exited' in lines: continue file = lines[0].split()[9][6:] break print file return file def main(): functions = [check_file] for func in functions: try: func() except Exception as e: return False if __name__ == '__main__': main() 1.If the file is present in any one of the machine the program works fine , example if the file is in machine4 it works fine, machine-4# touch /tmp2/2.txt machine-4# python c_4.py run_al_parall 'ls -al /tmp2/2.txt' machine-4: -rw-r--r-- 1 root wheel 0 Feb 27 08:15 /tmp2/2.txt gpal-machine-2 exited with status 1 gpal-machine-5 exited with status 1 gpal-machine-3 exited with status 1 gpal-machine-1 exited with status 1 ['machine-4: -rw-r--r-- 1 root wheel 0 Feb 27 08:15 /tmp2/2.txt', 'gpal-machine-2 exited with status 1', 'gpal-machine-5 exited with status 1', 'gpal-machine-3 exited with status 1', 'gpal-machine-1 exited with status 1'] 2.txt 2. But if the file is not present we get index out of range error , do we need to fix this or its expected ? or its ok. machine-4# python c_4.py isi_for_array 'ls -al /tmp2/2.txt' machine-2 exited with status 1 machine-1 exited with status 1 machine-4 exited with status 1 machine-5 exited with status 1 machine-3 exited with status 1 ['machine-2 exited with status 1', 'machine-1 exited with status 1', 'machine-4 exited with status 1', 'machine-5 exited with status 1', 'machine-3 exited with status 1'] ERROR:root:list index out of range 3. Any other tips to improve the program Regards, Ganesh -- https://mail.python.org/mailman/listinfo/python-list