windows - Er der en måde at fortælle, hvor din pythonfil er?

Indlæg af Hanne Mølgaard Plasc

Problem



(Python2.7-3.2 på WindowsXP)
Jeg plejede at bruge sys.arg

Bedste reference

, men nu udfører jeg det fra et batch script (for at bestemme om brugeren har python)


Tak ^^


~ ps: Foreslå, om du ved en bedre måde at finde ud af om brugeren har Python

Andre referencer 1


Måske leder du efter


os.path.dirname(\_\_file\_\_)

Andre referencer 2


Du kan læse variablen \_\_file\_\_ for at finde ud af stien til den aktuelle Python-fil, der fortolkes.

Andre referencer 3


Du kan se på dette indlæg, der kontrollerer registreringsdatabasen


batch-fil for at kontrollere, om Python er installeret


synes at være let som:


forespørgsel 'hkcu \ software \ Python 2.6'


Et alternativ er at kontrollere\% PATH\%. Jeg er ikke sikker på, hvordan man gør det nøjagtigt, som ikke har installeret vinduer rundt for at teste det :)


Prøv at finde ud af mere om 'reg query' og hvordan du søger\% PATH\% for eksekverbare filer!


Held og lykke!!

Andre referencer 4


For at tilføje til dette, selv om det allerede er besvaret, er der noget, jeg fik fra dette websted (husk ikke kilden)


import os, sys
print "CWD: ", os.getcwd()
print "Script: ", sys.argv[0]
print ".EXE: ", os.path.dirname(sys.executable)
print "Script dir: ", os.path.realpath(os.path.dirname(sys.argv[0]))
pathname, scriptname = os.path.split(sys.argv[0])
print "Relative script dir: ", pathname
print "Script dir: ", os.path.abspath(pathname)
print 'Current file: ', os.path.dirname(\_\_file\_\_)
print os.path.dirname(\_\_file\_\_) + '/IDLESTARTUP.txt'

Andre referencer 5


os.path.normpath(os.path.abspath(os.path.dirname(\_\_file\_\_)))