n = 0
@bot.command()
async def check(ctx):
global n
ACC = open('test.data', 'r')
# In test.data's detail:
# 1st:2nd
# 3rd:4th
ACC1 = ACC.readlines()
ACC2=str(ACC1).split()
ACC3=str(ACC2).split(':')
ctx.send('{}'.format(ACC3[n]))
n+=1
我想输出为:
player: !check
bot : 1st
player: !check
bot : 2nd
player: !check
bot : 3rd
它输出了太多列表。
我暂时很高兴实现没有错误的字符串,但是它与我执行代码时的期望完全不同。我该怎么办?我也不认为有任何有用的答案。
答案 0 :(得分:0)
ACC.readlines()
已经返回文件中的行列表。因此,我们需要做的是在每一行上拆分:
并将其展平。
checks = []
with open('test.data', 'r') as ACC:
for line in ACC.readlines():
checks.extend(line.split(':'))
ctx.send(checks[n])