Execute python3 filename depois de criar um novo usuário e com a pasta skeleton

1

Estou automatizando um sistema para criar usuários em python e executar um script python por meio do usuário. Aqui está o código que estou correndo junto com o erro. A raiz está criando um usuário e, em seguida, executando o arquivo como raiz. A pasta que está sendo copiada do skel é semelhante a este / etc / skel / newFolder. variável de nome de usuário é '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))

Erro

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

O código de retorno 1 significa que o teste disse que 'newFolder' copiado de skel não existe. E é claro que o python3 não consegue encontrar o arquivo python. Se eu passar pelo terminal e procurar por este diretório, ele existe. Muito frustrante por favor ajude.

    
por Michael Paquette 05.05.2018 / 20:06

1 resposta

0

O erro inteiro que eu estava recebendo foi devido a um erro de maiúsculas no caminho do arquivo. Você está se dando bem. Problema resolvido.

    
por Michael Paquette 08.05.2018 / 07:58