Opening a file in pwdir's folder in Python through Applescript
Question: Opening a file available in present working directory's temp folder in python

I tried

    
    
    pwdir=os.getcwd()
    tempdir=pwdir+"/temp/test.txt"
    f=open(tempdir,'r+')
    

When I print the path of tempdir, it is showing up correctly and also the
contents of file are also read.

When I try to combine this operation from an Applescript, which calls this
python script. I get an error like this

    
    
    f=open(pwdir1,'r+')
    IOError: [Errno 2] No such file or directory: '//temp/test.txt'" number 1
    

EDIT:

I am using Shell script from Applescript to call this pythonscript

    
    
    do shell script "/Users/mymac/Documents/'Microsoft User Data'/test.py"
    

EDIT:

Python Code:

    
    
    tempdir = os.path.join(os.getcwd(),'temp','htmlinput.html')
    print tempdir
    with open(tempdir) as f:
        html=f.read()
    

Python output from terminal:(works perfectly fine)

    
    
    /Users/mymac/Documents/Microsoft User Data/Outlook Script Menu Items/temp/htmlinput.html
    

I am also able to see the file contents.

Applescript Code:

    
    
    do shell script "/Users/mymac/Documents/'Microsoft User Data'/'Outlook Script Menu Items'/new.py"
    

Applescript Error:

    
    
    error "Microsoft Outlook got an error: Traceback (most recent call last):
      File \"/Users/mymac/Documents/Microsoft User Data/Outlook Script Menu Items/new.py\", line 12, in <module>
        with open(tempdir) as f:
    IOError: [Errno 2] No such file or directory: '/temp/htmlinput.html'" number 1
    


Answer: I don't know Applescript -- or OS X in general. It looks like the script is
being run from the root folder, and os.getcwd() returns '/'. The directory of
the script itself is `sys.path[0]` or the dirname of the current module --
`dirname(__file__)` \-- if it's a single script instead of a package. Try one
of the following

    
    
    import os, sys
    tempdir = os.path.join(sys.path[0], 'temp', 'temp.txt') 
    

or

    
    
    import os
    tempdir = os.path.join(os.path.dirname(__file__), 'temp', 'temp.txt')
    

