Re: Default path for files

2010-01-30 Thread Aahz
In article ,
Rotwang   wrote:
>
>Hi all, can anybody tell me whether there's a way to change the default 
>location for files to be opened by open()? I'd like to be able to create 
>files somewhere other than my Python folder without having to write the 
>full path in the filename every time. Sorry if this is a stupid 
>question, I don't know much about programming.

from os.path import join
BASE = '/path/to/root'
f = open(join(BASE, filename))

Trust me, you'll be much happier with this.
-- 
Aahz (a...@pythoncraft.com)   <*> http://www.pythoncraft.com/

import antigravity
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Default path for files

2010-01-30 Thread Nobody
On Sun, 24 Jan 2010 15:08:15 +, Rotwang wrote:

> Hi all, can anybody tell me whether there's a way to change the default
> location for files to be opened by open()? I'd like to be able to create
> files somewhere other than my Python folder without having to write the
> full path in the filename every time. Sorry if this is a stupid question,
> I don't know much about programming.

If you pass a relative pathname to open() (or any other function which
expects a filename), it will be interpreted relative to the current
directory.

Given that the current directory always seems to be the Python directory,
and you refer to it as a "folder", I'm guessing that you're running Python
on Windows via a shortcut in the Start Menu or on the desktop.

In which case, the ideal solution is probably to open the Properties
dialog for the shortcut and change the "Start in" field to your
"My Documents" directory (or some subdirectory of it).

Python itself won't care which directory it starts in.

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Default path for files

2010-01-25 Thread Gabriel Genellina
En Sun, 24 Jan 2010 15:04:48 -0300, Günther Dietrich  
 escribió:



Rotwang  wrote:


Check out http://docs.python.org/library/os.html and the function
chdir it is what you are looking for.


Thank you. So would adding

import os
os.chdir()

to site.py (or any other module which is automatically imported during
initialisation) change the default location to  every time I used
Python?


Don't change the library modules. It would catch you anytime when you
expect it least.

See for the environment variable PYTHONSTARTUP and the associated
startup file.


sitecustomize.py would be a better place. PYTHONSTARTUP is only used when  
running in interactive mode.
Anyway, I'd do that explicitely on each script that requires it; after  
upgrading the Python version, or moving to another PC, those scripts would  
start failing...


--
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list


Re: Default path for files

2010-01-24 Thread Günther Dietrich
Rotwang  wrote:

>> Check out http://docs.python.org/library/os.html and the function
>> chdir it is what you are looking for.
>
>Thank you. So would adding
>
>import os
>os.chdir()
>
>to site.py (or any other module which is automatically imported during 
>initialisation) change the default location to  every time I used 
>Python?

Don't change the library modules. It would catch you anytime when you 
expect it least.

See for the environment variable PYTHONSTARTUP and the associated 
startup file.



Best regards,

Günther
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Default path for files

2010-01-24 Thread Rotwang

Christian Heimes wrote:

Rotwang wrote:

import os
os.chdir()

to site.py (or any other module which is automatically imported during 
initialisation) change the default location to  every time I used 
Python?


First of all you shouldn't alter the site module ever! The optional
sitecustomize module exists to make global changes.

A library must never change the current working directory. It's up to
the application to choose the right working directory. If you mess with
the working directory in a library or global module like site you *will*
break applications. Python has multiple ways to modify the list of
importable locations, either globally, for the current user or the
current application. Use them wisely!

Christian



OK, thanks.
--
http://mail.python.org/mailman/listinfo/python-list


Re: Default path for files

2010-01-24 Thread Christian Heimes
Rotwang wrote:
> import os
> os.chdir()
> 
> to site.py (or any other module which is automatically imported during 
> initialisation) change the default location to  every time I used 
> Python?

First of all you shouldn't alter the site module ever! The optional
sitecustomize module exists to make global changes.

A library must never change the current working directory. It's up to
the application to choose the right working directory. If you mess with
the working directory in a library or global module like site you *will*
break applications. Python has multiple ways to modify the list of
importable locations, either globally, for the current user or the
current application. Use them wisely!

Christian

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Default path for files

2010-01-24 Thread Rotwang

Krister Svanlund wrote:

On Sun, Jan 24, 2010 at 4:08 PM, Rotwang  wrote:

Hi all, can anybody tell me whether there's a way to change the default
location for files to be opened by open()? I'd like to be able to create
files somewhere other than my Python folder without having to write the full
path in the filename every time. Sorry if this is a stupid question, I don't
know much about programming.


Check out http://docs.python.org/library/os.html and the function
chdir it is what you are looking for.


Thank you. So would adding

import os
os.chdir()

to site.py (or any other module which is automatically imported during 
initialisation) change the default location to  every time I used 
Python?

--
http://mail.python.org/mailman/listinfo/python-list


Re: Default path for files

2010-01-24 Thread Krister Svanlund
On Sun, Jan 24, 2010 at 4:08 PM, Rotwang  wrote:
> Hi all, can anybody tell me whether there's a way to change the default
> location for files to be opened by open()? I'd like to be able to create
> files somewhere other than my Python folder without having to write the full
> path in the filename every time. Sorry if this is a stupid question, I don't
> know much about programming.

Check out http://docs.python.org/library/os.html and the function
chdir it is what you are looking for.
-- 
http://mail.python.org/mailman/listinfo/python-list