Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 26, 2010 21:03:19

figner34
От:
Зарегистрирован: 2010-06-13
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

путь к выполняющемуся скрипту

как в питоновском скрипте получить путь к самому себе?



Офлайн

#2 Окт. 26, 2010 21:04:16

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

путь к выполняющемуся скрипту

os.path.abspath(__file__)



Отредактировано (Окт. 26, 2010 21:04:29)

Офлайн

#3 Окт. 26, 2010 21:09:17

figner34
От:
Зарегистрирован: 2010-06-13
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

путь к выполняющемуся скрипту

говорит NameError: name ‘__file__’ is not defined. питон 3.1



Офлайн

#4 Окт. 26, 2010 21:16:28

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

путь к выполняющемуся скрипту

os.path.realpath(os.path.dirname(sys.argv[0]))



Офлайн

#5 Апрель 23, 2013 13:58:41

alexbadaloff
От: Иваново
Зарегистрирован: 2013-04-11
Сообщения: 198
Репутация: +  16  -
Профиль   Отправить e-mail  

путь к выполняющемуся скрипту

os.getcwd()



————————–
Истина где-то рядом

Офлайн

#6 Апрель 23, 2013 19:44:16

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

путь к выполняющемуся скрипту

figner34
путь к самому себе?
:) http://www.vedmo4ka5.ru/podnimaem-sebe-nastroenie/o-tom-kak-rabotayut-programmisty.html
getcwd
- путь к текущей директории
__file__
- путь к текущему модулю
sys.argv[0]
- имя “main” модуля
А путь к себе …. хотел-бы я знать как его найти.



Отредактировано doza_and (Апрель 23, 2013 19:45:30)

Офлайн

#7 Апрель 24, 2013 06:59:50

sanodin
От:
Зарегистрирован: 2011-06-16
Сообщения: 515
Репутация: +  31  -
Профиль   Отправить e-mail  

путь к выполняющемуся скрипту

doza_and
А путь к себе …. хотел-бы я знать как его найти.
Одно общее зерно можно найти у Мельхеседека, Ошо, Кастанеды, Мегрэ,Мороза…
Будда и Иисус говорят об одном практически
Путь таки есть
Если Вы об этом

Офлайн

#8 Апрель 24, 2013 08:44:59

alexbadaloff
От: Иваново
Зарегистрирован: 2013-04-11
Сообщения: 198
Репутация: +  16  -
Профиль   Отправить e-mail  

путь к выполняющемуся скрипту


Но думаю автор вопроса, хотел узнать как из скрипта узнать абсолютный путь к этому же скрипту.
Например в freepascal это можно сделать простой функцией:

Application.Exename
И ответом получить абсолютный путь (включая имя файла):
D:\projects\lazarus\project\project1.exe

Я не знаю такой функции в питоне, поэтому дал такую:
os.getcwd()
Зная путь к директории где лежит сам исполняемый скрипт, думаю не сложно будет объявить глобальную переменную с именем самого скрипта.



————————–
Истина где-то рядом

Отредактировано alexbadaloff (Апрель 24, 2013 08:45:33)

Офлайн

#9 Апрель 24, 2013 21:13:00

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

путь к выполняющемуся скрипту

alexbadaloff
Я не знаю такой функции в питоне
Этот путь лежит в
sys.argv[0] 
как и было написано выше. В языке С это также. os.getcwd() грубо говоря это то место где будут создаваться файлы по команде open, и оно может не совпадать с путем к скрипту.
import os
print os.getcwd()
os.chdir("..")
print os.getcwd()



Отредактировано doza_and (Апрель 24, 2013 21:14:07)

Офлайн

#10 Апрель 25, 2013 08:48:04

alexbadaloff
От: Иваново
Зарегистрирован: 2013-04-11
Сообщения: 198
Репутация: +  16  -
Профиль   Отправить e-mail  

путь к выполняющемуся скрипту

doza_and
Этот путь лежит в
sys.argv

Точно. Спасибо.



————————–
Истина где-то рядом

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version