LINUX.ORG.RU

Python, chmod


0

1

Есть скриптик на шелле, который в некоторый момент делает

chgrp -R updater /usr/local/www/hosting/$DIR
chmod -R g+rwX /usr/local/www/hosting/$DIR
Как это будет на питоне? Я осилил только рекурсивный чмод, но это немножко не то, и не так.
	for root, dirs, files in os.walk(path):
		for d in dirs:
			os.chmod(root + '/' + d, 0o777)
		for f in files:
			os.chmod(root + '/' + f, 0o666)
Или лучше не морочится и использовать os.system? Как правильней? Спасибо.

★★★★★

Последнее исправление: Slack (всего исправлений: 1)

Да вроде бы это и есть единственный метод, если хочешь чисто на питоне. По идее можно юзать всякие генераторы и map'ы, но суть всё такая же. И, кстати, совет: замени root + '/' + d на os.path.join(root, d), чтобы сюрпризов точно не было.

Чем os.system может быть плохо - это создание отдельного процесса. Может, в твоей ситуации это имеет значение.

lu4nik ★★★
()

есть os.path.walk

Но я бы юзал os.system

AIv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.