Hi Stuart, it's a vague question, so all I can give is vague answers.
What OS are you using?
But -
If your environment variables will contain info about the file, you
can use os.environ, however, that pulls all the env variables - i.e.,
on my WinXP -
>>> envVars = os.environ
>>> for (key, val) in envVars.items():
... print key, val
... print
....
TMP C:\DOCUME~1\Bob\LOCALS~1\Temp
COMPUTERNAME HAL
USERDOMAIN HAL
VDMSPATH C:\Program Files\VDMSound
COMMONPROGRAMFILES C:\Program Files\Common Files
PROCESSOR_IDENTIFIER x86 Family 6 Model 2 Stepping 1, AuthenticAMD
PROGRAMFILES C:\Program Files
PROCESSOR_REVISION 0201
PATH C:\Perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;
C:\WINDOWS\System32\Wbem;C:\Program Files\VDMSound; :\python23;c:\j2sdk1.4.0\bin
SYSTEMROOT C:\WINDOWS
TEMP C:\DOCUME~1\Bob\LOCALS~1\Temp
PROCESSOR_ARCHITECTURE x86
ALLUSERSPROFILE C:\Documents and Settings\All Users
SESSIONNAME Console
HOMEPATH \
USERNAME Bob
LOGONSERVER \\HAL
COMSPEC C:\WINDOWS\system32\cmd.exe
CLASSPATH c:\javastz;c:\javastz\0_hello;c:\javastz\coscClasses;bsh.jar
PATHEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
CLIENTNAME Console
WINDIR C:\WINDOWS
APPDATA C:\Documents and Settings\Bob\Application Data
HOMEDRIVE C:
SYSTEMDRIVE C:
NUMBER_OF_PROCESSORS 1
PROCESSOR_LEVEL 6
OS Windows_NT
USERPROFILE C:\Documents and Settings\Bob
That long discretion aside, so you can grab stuff straight from os.environ -
>>> print os.environ['SYSTEMROOT']
C:\WINDOWS
Alternatively, you can walk your directories.
If you have a rough idea where it might be, that's better than walking
your whole HD, but you could.
>>> for (dirpath, dirnames, filenames) in os.walk('c:/python23'):
... if 'cmreportsnocomments.py' in filenames:
... print 'I know this isn\'t OS safe, but I can\'t be bothered
importing os.path'
... x = "%s\\cmreportsnocomments.py" % dirpath
... if '/' in x:
... x = x.replace('/','\\')
... print x
...
I know this isn't OS safe, but I can't be bothered importing os.path
c:\python23\cmreportsnocomments.py
I know this isn't OS safe, but I can't be bothered importing os.path
c:\python23\tc_project\cmreportsnocomments.py
But yeah, I would recommend (if you can control your target app's
install) that you chuck a systemenv up with the installed path and go
from there.
HTH
Liam Clarke
On Mon, 14 Feb 2005 10:26:36 +0000, Stuart Murdock
<[EMAIL PROTECTED]> wrote:
> Hi
>
> I am working from within python and want to know the best way to know if
> a certain package is installed for use on my machine.
>
> I want to know from within python that a specific executable file is on
> my path where I could actually run the command from a prompt in a system
> shell.
>
> I don't want to restrict exacltly where the file is and I don't want to
> do a general try catch.
>
> Are there any simple one or two liners that anyone is aware of?
>
> Thanks
>
> Stuart
>
> --
>
> Stuart Murdock Ph.D,
> Research Fellow,
> Dept. of Chemistry / E-Science,
> University of Southampton,
> Highfield, Southampton,
> SO17 1BJ, United Kingdom
>
> http://www.biosimgrid.org
>
> _______________________________________________
> Tutor maillist - [email protected]
> http://mail.python.org/mailman/listinfo/tutor
>
--
'There is only one basic human right, and that is to do as you damn well please.
And with it comes the only basic human duty, to take the consequences.
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor