我正在自动化一个系统,以使用 python 创建用户并通过该用户运行 python 脚本。这是我正在运行的代码以及错误。root 正在创建一个用户,然后以 root 身份运行该文件。从 skel 复制的文件夹如下所示 /etc/skel/newFolder。用户名变量为“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 表示测试表明从 skel 复制的这个“newFolder”不存在。当然,python3 找不到这个 python 文件。如果我通过终端查找这个目录,它确实存在。非常令人沮丧,请帮忙。
答案1
我遇到的所有错误都是因为文件路径中的大小写错误。你在开玩笑吧。问题解决了。