如何在每次输出上添加增加的数字



首先,这是我的代码。

s = api.get_info(1230)
my_file=open('textlist.txt','r')
file_lines=my_file.readlines()
my_file.close()
###############
for line in file_lines:
try:
print("[+] Trying to post "+line)
if line != 'n':
api.update(line, post_id = s.id)
else:
pass
except api.msgError as e:
print(e.msg)
#set interval per replies
print("[+] Success +1...")
sleep(10)
###############

并且textlist.txt文件是

line_1
line_2
line_3
...
line_10

输出

[+] Trying to post line_1
[+] Success +1...
[+] Trying to post line_2
[+] Success +1...
...

现在,我如何使[+] Success +1**的输出在每次成功发布行**时都会增加,比如这个

[+] Trying to post line_1
[+] Success +1...
[+] Trying to post line_2
[+] Success +2...
...
[+] Trying to post line_10
[+] Success +10...

当更新失败时,其他答案无法解决。您应该为成功次数创建一个变量,该变量仅在更新成功时递增。

还可以考虑使用with-语句来打开文件。它将确保文件在打开时出现异常时关闭,并被视为良好做法。

s = api.get_info(1230)
with open('textlist.txt','r') as my_file
file_lines=my_file.readlines()
###############
n_successes = 0
for line in file_lines:
try:
print("[+] Trying to post "+line)
if line != 'n':
api.update(line, post_id = s.id)
n_successes += 1 # Increment it here
print(f"[+] Success {n_successes}...")
else:
pass
except api.msgError as e:
print(e.msg)
#set interval per replies
sleep(10)
print(f"Total number of successes: {n_successes}")
###############

像这样:

for n_success , line in enumerate(file_lines, 1):
try:
print("[+] Trying to post "+line)
if line != 'n':
api.update(line, post_id = s.id)
else:
pass
except api.msgError as e:
print(e.msg)
#set interval per replies
print(f"[+] Success +{n_success}...")
sleep(10)

每行都有一个分隔符,使用它对您有利。

代替:

print("[+] Success +1...")

用途:

print(f"[+] Success +{line.split('-')[1]}...")

或者:

print("[+] Success +{}...".format(line.split('-')[1]))