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