[英]Unable to open and read every file in folder in Python
我目前遇到一個問題,我無法 output 第二個文件中的內容,而是輸出第一個文件的內容兩次。 如何創建一個循環來輸出該目錄中每個文件的內容?
我的代碼
import discord
import discord.ext import commands
import os, glob
import uuid
@bot.command()
async def listjobs(ctx):
embed = discord.Embed(title=f'Jobs', description='Placeholder text that explains how to use this bot')
alljobs = os.listdir(cwd+'/jobs')
mylines = []
for job in alljobs:
embed.add_field(name='Job ID', value=job.split('.')[0])
with open(cwd+'/jobs/'+job, 'r+') as f:
#print(f.readlines())
for line in f:
mylines.append(line)
distance = mylines[1]
claimedby = mylines[2]
embed.add_field(name='Distance', value=distance.split(':')[1])
embed.add_field(name='Claimed by', value=claimedby.split(':')[1])
await ctx.send(embed=embed)
Output我知道我現在沒有顯示第一行(腿:....)
文本文件 #1
Leg: ksfo to koat
Distance: 1000 miles
Claimed by: no one
文本文件 #2
Leg: klax to kphx
Distance: 550 miles
Claimed by: no one
您正在從列表“mylines”中獲取數據,但您從不清除“mylines”。 您正在附加列表中每個文件的行,但從不刪除它們
所以,線
distance = mylines[1] claimedby = mylines[2]
始終參考第一個文件的第 1 行和第 2 行。
要解決這個問題,您應該將“mylines”的初始化放在循環中,這樣在循環的每次傳遞中,它都會從列表中刪除前面的行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.