Выполнить имя файла python3 после создания нового пользователя и со папкой скелета

Я автоматизирую систему для создания пользователей в Python и запуска сценария Python через пользователя. Вот код, который я запускаю вместе с ошибкой. Корень создает пользователя, а затем запускает файл как root. Папка, копируемая из skel, выглядит следующим образом / etc / skel / newFolder. Переменная username - это 'newUser'

os.system('sudo adduser --disabled-password --gecos "" ' + username)
path = '/home/'+username+'/newFolder' 
path.replace("'", r"\'")

print(subprocess.run("test -e '{}'".format(path), shell=True))
subprocess.run("sudo python3 '{}'".format(path), shell=True)
print(os.path.isfile(path))

Ошибка

Adding user 'newUser' ...    
Adding new group 'newUser' (1000) ...    
Adding new user 'newUser' (1000) with group `newUser' ...   
Creating home directory `/home/newUser' ...    
Copying files from '/etc/skel' ...    
CompletedProcess(args="test -e '/home/newUser/newFolder'", returncode=1)    
python3: can't open file '/home/newUser/newFolder/pythonFile.py': [Errno 2] No such file or directory

Код возврата 1 означает, что тест показал, что этот 'newFolder', скопированный из skel, не существует. И, конечно, python3 не может найти файл python. Если я иду через терминал и ищу этот каталог, он существует. Очень расстраивает, пожалуйста, помогите.

1
задан 5 May 2018 в 21:16

1 ответ

Вся ошибка, которую я получал, была из-за ошибки капитализации в пути к файлу. ВЫ ШУТИТЕ ПРАВО. Проблема решена.

0
ответ дан 8 December 2019 в 01:17

Другие вопросы по тегам:

Похожие вопросы: