Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

Does anyone know where or how to set the default path/directory on saving python scripts prior to running?

On a Mac it wants to save them in the top level ~/Documents directory . I would like to specify a real location. Any ideas?

On OS X, if you launch IDLE.app (by double-clicking or using open(1) , for example), the default directory is hardwired to ~/Documents . If you want to change the default permanently, you'll need to edit the file idlemain.py within the IDLE.app application bundle; depending on which Python(s) you have installed, it will likely be in one of:

/Applications/MacPython 2.x/IDLE.app/Contents/Resources
/Applications/MacPython 2.x/IDLE.app/Contents/Resources
/Applications/MacPorts/Python 2.x/IDLE.app/Contents/Resources
/Applications/Python 2.x/IDLE.app/Contents/Resources
/Applications/Python 3.x/IDLE.app/Contents/Resources

Edit the line:

os.chdir(os.path.expanduser('~/Documents'))

On the other hand, if you start IDLE from the command line, for example, with:

$ cd /some/directory    
$ /usr/local/bin/idle

IDLE will use that current directory as the default.

I actually just discovered the easiest answer, if you use the shortcut link labeled "IDLE (Python GUI)". This is in Windows Vista, so I don't know if it'll work in other OS's.

1) Right-click "Properties".

2) Select "Shortcut" tab.

3) In "Start In", write file path (e.g. "C:\Users...").

Let me know if this works!

In Windows 10+, click the Windows Start button, then type idle, and then right-click on the IDLE desktop app and open the file location. This should bring you to the Start Menu shortcuts for Python, and you'll find a shortcut to IDLE there. Right-click on the IDLE shortcut and select properties. Set the "Start in" directory to be where you want default save path to be.

It seems like you can get idle into the directory you want if you run any module from that directory.

I had previously tried opening idlemain.py through the path browser. I was able to open and edit the file, but it seemed like I wasn't able to save my modifications.

I'm just glad to hear other people are having this problem. I just thought I was being stupid.

In my case, the default directory is set to the directory from which I launched IDLE. For instance, if I launched IDLE from a directory called 'tmp' in my home directory, the default save path is set to ~/tmp. So start your IDLE like this:

~/tmp $ idle
[...]

On Windows (Vista at least, which is what I'm looking at here), shortcut icons on the desktop have a "Start in" field where you can set the directory used as the current working directory when the program starts. Changing that works for me. Anything like that on the Mac? (Starting in the desired directory from the command line works, too.)

Open a new finder window,then head over to applications. Locate your Python application. (For my mac,it's Python 3.5)

Double click on it. Right click on the IDLE icon,show package contents. Then go into the contents folder,then resources.

Now,this is the important part:

(Note: You must be the administrator or have the administrator's password for the below to work)

Right click on the idlemain.py,Get Info.

Scroll all the way down. Make sure under the Sharing & Permissions tab,your "name"(Me) is on it with the privilege as Read & Write. If not click on the lock symbol and unlock it. Then add/edit yourself to have the Read & Write privilege.

Lastly,as per Ned Deily's instructions,edit the line:

os.chdir(os.path.expanduser('~/Documents'))

with your desired path and then save the changes.

Upon restarting the Python IDLE,you should find that your default Save as path to be the path you've indicated.

I am using windows 7 and by going to Start-> IDLE(Python 3.6 32-bit)

The click on properties and then in the shortcut tab go to Start in and entering the desired path worked for me kindly note if IDLE is open and running while you do this you'll have to shut it down and restart it for this to work

If you locate the idlelib directory in your Python install, it will have a few files with the .def extension. config-main.def has instructions on where to put the custom config files. However, looking through these I did not find any configurable paths (your install may vary). Looks like you might need to crack open the editor code to alter it.

Yeah this was what I ran up against too. I looked through the *.defs expecting to see an obvious save dir variable but nope.. – rh0dium Sep 15, 2009 at 3:01
  • make the file executable by right click-> properties-> permissions-> check the execute as program checkbox-> done
  • Run the file :)

    Thanks for contributing an answer to Stack Overflow!

    • Please be sure to answer the question. Provide details and share your research!

    But avoid

    • Asking for help, clarification, or responding to other answers.
    • Making statements based on opinion; back them up with references or personal experience.

    To learn more, see our tips on writing great answers.