我的代码中有一个令人讨厌的错误,我无法自行解决。这是我的代码:
accounts = open('usernames.txt').read().splitlines()
my_accounts = random.choice(accounts)
for x in my_accounts(starting_account, ending_account, 1):
payload = { 'user_key': get_user_key(),
'terms': 'true',
'action': 'edit',
'page': 'simple',
'flow': 'TestA',
'dob': '1987-22-01',
'gender': 'f',
'name': str(x),
'password': create_password()}
r = requests.post(CONST_URL + end_point, headers=headers, cookies=cookies, data=payload, allow_redirects=False, verify=False)
if r.status_code == 302:
accounts_output = 'accounts.txt'
f = open(accounts_output, 'w')
user_output = (str(r.status_code) + ' Account created succesfully: ' + str(x) + ' ' + create_password())
f.write(user_output)
f.close()
else:
print(str(r.status_code) + ' Unable to connect to the server :/')
print(r.content)
当我尝试运行此操作时,出现以下错误:
Traceback (most recent call last):
File "C:/Users/Google Drive/testing/moreTesting.py", line 66, in <module>
ms = accountCreator().account_creator(0, 5)
File "C:/Users/Pieperloy/Google Drive/testing/moreTesting.py", line 43, in account_creator
for x in my_accounts(starting_account, ending_account, 1):
TypeError: 'str' object is not callable
此外,是的,我确实尝试查找问题,但没有找到任何可以帮助我处理我的具体案例。在此先感谢,祝你有个美好的一天
答案 0 :(得分:3)
my_accounts
是一个字符串:
accounts = open('usernames.txt').read().splitlines()
my_accounts = random.choice(accounts)
但您正尝试将其用作函数:
my_accounts(str(starting_account), str(ending_account), 1)
如果您还有一个使用完全相同名称的函数,则必须重命名其中一个,不能对变量和函数使用相同的名称。
答案 1 :(得分:1)
accounts = open('usernames.txt').read().splitlines()
my_accounts = random.choice(accounts)
for x in my_accounts(starting_account, ending_account, 1):
splitlines()
返回字符串列表。因此,您的my_accounts
变量将包含accounts
列表中的随机字符串。
因此,当您在for循环中调用my_accounts()
时,会收到str objects are not callable
的错误。
详细了解splitlines()。