I want to open a file and wait the execution of next instruction till file is not closed. I followed the link How to open a file on mac OSX 10.8.2 in python python but it didn't work.
subprocess.call(['open','-W',FileName])
opens the file in texteditor, but executes next statement only when text-editor is quit from dock forcefully, even though I closed the opened file.Means, it should execute next statement only when file is closed, and then texteditor should automatically quit from dock.
I also tried with Popen but it didn't work
ss=subprocess.Popen("~/Downloads/DeletingDocs.txt",shell=True)
ss.communicate()
Please suggest some method for it
Try saving this as "EditOneAndQuit" and then do:
chmod +x EditOneAndQuit
Then start that from Python:
#!/bin/bash
# Start textedit in background
open "$1" &
# Wait till textedit has zero documents open
while true
do
sleep 1
docs=`osascript -e 'tell application "textedit" to get documents'`
if [ -z "$docs" ]; then
# Kill off poor old textedit
osascript -e 'tell application "textedit" to quit'
exit
fi
done
Try it from the shell first, by creating a document and editing it:
ls > fred.txt
./OpenOneAndQuit fred.txt
you should see that the script, along with textedit, exits when you close the document by clicking the red button.