Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 20, 2010 21:50:33

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

своя текущая папка для каждого потока, возможно?

есть несколько потоков, у каждого должна быть своя рабочая папка, т.е. chdir(), getpwd() влияли только на свой поток. и когда поток будет вызывать popen то папка должна быть соответсвующая.
возможно такое, или это возможно только через доп. процессы?

Офлайн

#2 Фев. 20, 2010 21:59:21

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

своя текущая папка для каждого потока, возможно?

Насколько я помню

o7412369815963
chdir(), getpwd()
- для процесса.
А что мешает в popen указывать полный путь, который можно для каждого потока сделать своим?



Офлайн

#3 Фев. 20, 2010 22:16:31

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

своя текущая папка для каждого потока, возможно?

Lexander
Насколько я помню
o7412369815963
chdir(), getpwd()
- для процесса.
А что мешает в popen указывать полный путь, который можно для каждого потока сделать своим?
тогда запускаемые приложения будут стартовать не из нужной папки, хотя перед запуском можно делать тот самый chdir…

Офлайн

#4 Фев. 21, 2010 03:53:12

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

своя текущая папка для каждого потока, возможно?

так и нужно - каждый раз chdir.
Текущая директория - свойство процесса, а не потока.



Офлайн

#5 Фев. 21, 2010 05:11:17

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

своя текущая папка для каждого потока, возможно?

Вернее сказать, лучше указывать cwd для каждого порождаемого процесса. И выкиньте popen в топку. Используйте subprocess.



Офлайн

#6 Фев. 21, 2010 08:05:19

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

своя текущая папка для каждого потока, возможно?

Андрей Светлов
И выкиньте popen в топку. Используйте subprocess.
использую subprocess.Popen(cmd, shell = True), его выкинуть или наоборот этот пойдет т.к. он в модуле субпроцесс?

чего-то я забыл что у этого метода куча параметров, спасибо.

Офлайн

#7 Фев. 21, 2010 12:49:56

Lexander
От:
Зарегистрирован: 2008-09-19
Сообщения: 1139
Репутация: +  33  -
Профиль   Отправить e-mail  

своя текущая папка для каждого потока, возможно?

o7412369815963
использую subprocess.Popen(cmd, shell = True), его выкинуть или наоборот этот пойдет т.к. он в модуле субпроцесс?
Этот и используйте. popen (!=subprocess.Popen) не рекомендуется к использованию.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version