我在工作中面临大量邮件迁移。为了使这更容易一些并通过一个有趣的项目来学习更多Python,我决定编写一个Python脚本,供所有人使用imapsync。我只是被困在这里。这是一段处理用户名的代码。其他变量已在代码的前面指定。
userinput = input('Wat zijn de gebruikersnamen die verhuist worden van dit domein? Scheidt met een spatie: ')
user = userinput.split()
password1 = input('Welk wachtwoord wordt gebruikt?: ')
password2 = password1
for x in range(0, user):
user1 = x + '@' + domain
imapsync = "screen -S mailmigratie -m imapsync --host1 " + host1 + " --ssl --host2 " + host2 + " --ssl2 --password1 " + password1 + " --password2 " + password2 + " --user1 " + user1 + " --user2 " + user1 + ">> imapsynclog" + user1 + ".txt"
print("imapsync is nu gestart in een screen, er wordt een logfile gegenereerd")
os.system(imapsync)
print(user1)
我使用print(user1)
函数检查列表是否可以正常打印,但出现此错误:
Traceback (most recent call last):
File "imapscript.py", line 82, in <module>
for x in range(0, user):
TypeError: 'list' object cannot be interpreted as an integer
第一位评论者kantal解决了这个问题。我已经将“ for range(0,user)中的x:”更改为“ for x in user:”。
欢迎使用StackOverflow!
我认为问题出在user
变量上。按照下面的代码,user
应该返回一个字符串列表。
user = userinput.split()
在如下所示的range
中使用时]
for x in range(0, user):
[python解释器原本希望
user
为整数,但它是字符串列表,所以错误为TypeError: 'list' object cannot be interpreted as an integer
也许您正在寻找range(0, len(user))
或enumerate(user)
之类的东西。
请探索他们的学习内容,希望对您有所帮助。