python 从 txt 文件创建用户帐户的脚本

python script to create user account from txt file

我正在努力学习编程。我需要帮助将 login.txt 文件中的用户循环到此子进程中。任何帮助将不胜感激。

with open("login.txt",'r') as file:
#reading each line
for line in file:

    #reading each word
      for word in line.split():
         subprocess.run(['useradd',input=word , shell=True])
cat login.txt

test01

test02

test03

test04

出现此错误: 文件“loginscript.py”,第 11 行 subprocess.run(['useradd',input=word , shell=True ]) ^ 语法错误:语法无效

shell=True 是双重错误;如果你要使用它,它应该超出第一个参数;但是当第一个参数是一个列表时,你几乎肯定根本不需要 shell=True 。另见 Actual meaning of shell=True in subprocess

(有 种情况 shell=True 对列表参数有意义,但你真的需要了解你在做什么。这在 Windows,但这只是因为 Windows 作为一个整体更奇怪。)

此外,您可能想省略 word 参数前面的 input=,而只是 运行

with open("login.txt",'r') as file:
    for line in file:
        word = line.rstrip('\n')
        subprocess.run(['useradd', word], check=True)

最后,还要注意当你阅读这样的行时换行符是如何仍然存在的,需要被修剪掉,以及我们如何传入 check=True 让 Python 引发异常如果子进程失败。