Reading/Writing files

Alexander Kapps alex.kapps at web.de
Fri Mar 18 18:11:44 EDT 2011


On 18.03.2011 22:33, Jon Herman wrote:
> Hello all,
>
> I am pretty new to Python and am trying to write data to a file. However, I
> seem to be misunderstanding how to do so. For starters, I'm not even sure
> where Python is looking for these files or storing them. The directories I
> have added to my PYTHONPATH variable (where I import modules from
> succesfully) does not appear to be it.
>
> So my question is: How do I tell Python where to look for opening files, and
> where to store new files?
>
> Thanks,
>
> Jon
>
>


There is no special place where Python looks for normal files 
(PYTHONPATH is just tells where to look for modules.)

If you open a file (for reading and/or writing) and don't give an 
absolute path, then the filename is relative to the CWD (Current 
Working Directory). One can change this directory with os.chdir() 
*but* you shouldn't need to do that. Either start Python in the 
desired directory (your operating system will have a way to do this 
for icons and menu entries) or give an absolute path like:

f = open("/home/alex/test.txt")
f = open("c:/test.txt")

Also check out os.environ, a dict containing the environment 
variables. There you will find variables like $HOME or %USERPROFILE% 
(if that's correct) which tells where your personal files are:

import os

# my home directory is /home/alex
homedir = os.environ["HOME"]

# creates the file /home/alex/test.txt
f = open(os.path.join(homedir, "test.txt"))



More information about the Python-list mailing list