所以我想挑一些數據出來的文本文件,它看起來像這樣:Python的.find()返回找到字符串的結尾
##After some other stuff which could change
EASY:[5,500]
MEDIUM:[10,100]
HARD:[20,1000]
EXPERT:[30,2000]
EXTREME:[50,5000]
我寫它使用難度功能('EASY''HARD'等)返回以下列表。我當前的代碼如下所示:
def setAI(difficulty): #difficulty='EASY' or 'HARD' or...e.t.c)
configFile=open('AISettings.txt')
config=configFile.read()
print(config[(config.find(difficulty)):(config.find(']',(config.find(difficulty))))]) #So it will return the chunk between the difficulty, and the next closed-square-bracket after that
這將產生以下的輸出:
>>> HARD:[20,1000
我試着像這樣固定的:
print(config[(config.find(difficulty)+2):(config.find(']',(config.find(difficulty)+2))+1)])
返回:
>>>RD:[20,1000]
這個問題我嘗試我想讓它在冒號後面開始,我意識到我可以使用難度字符串的長度來解決這個問題,但是在使用.find時返回字符串的結尾是否更簡單? )命令?
P.S:我找不到任何重複的東西,但它是一個有點奇怪的問題,所以很抱歉,如果它已經在這裏某處;在此先感謝
編輯:感謝您的答覆,我想你基本上都解決了這個問題,但所選擇的答案是becasue我喜歡迭代行由行的主意,乾杯傢伙:)