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 引发异常如果子进程失败。
我正在努力学习编程。我需要帮助将 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 引发异常如果子进程失败。