Найти - Пользователи
Полная версия: своя текущая папка для каждого потока, возможно?
Начало » Python для экспертов » своя текущая папка для каждого потока, возможно?
1
o7412369815963
есть несколько потоков, у каждого должна быть своя рабочая папка, т.е. chdir(), getpwd() влияли только на свой поток. и когда поток будет вызывать popen то папка должна быть соответсвующая.
возможно такое, или это возможно только через доп. процессы?
Lexander
Насколько я помню
o7412369815963
chdir(), getpwd()
- для процесса.
А что мешает в popen указывать полный путь, который можно для каждого потока сделать своим?
o7412369815963
Lexander
Насколько я помню
o7412369815963
chdir(), getpwd()
- для процесса.
А что мешает в popen указывать полный путь, который можно для каждого потока сделать своим?
тогда запускаемые приложения будут стартовать не из нужной папки, хотя перед запуском можно делать тот самый chdir…
Андрей Светлов
так и нужно - каждый раз chdir.
Текущая директория - свойство процесса, а не потока.
Андрей Светлов
Вернее сказать, лучше указывать cwd для каждого порождаемого процесса. И выкиньте popen в топку. Используйте subprocess.
o7412369815963
Андрей Светлов
И выкиньте popen в топку. Используйте subprocess.
использую subprocess.Popen(cmd, shell = True), его выкинуть или наоборот этот пойдет т.к. он в модуле субпроцесс?

чего-то я забыл что у этого метода куча параметров, спасибо.
Lexander
o7412369815963
использую subprocess.Popen(cmd, shell = True), его выкинуть или наоборот этот пойдет т.к. он в модуле субпроцесс?
Этот и используйте. popen (!=subprocess.Popen) не рекомендуется к использованию.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB