我試圖從具有如下一個開始和結束日期範圍內的文件,得到一個字符串:的Python:拆分值分爲二並分配到兩個不同的變量
"Date Range = January 1, 2001 to December 24, 2008"
我要挑這個日期範圍(2001年1月1日至2008年12月24日),並將其分成兩個不同的變量。我能夠獲取日期範圍並將它們分開,但在分配時出現錯誤。
file_path = open("C:\\Users\\vinnu\\Desktop\\ARF_LS00006493_339313_Tremont.txt")
content = file_path.read()
#find and pick the date range
size = len(content)
start =0
while start < size:
start = content.find("Date Range: ",start)
start = start if start != -1 else size
#fetch only till the end of line
end = content.find("\n", start)
end = end if end != -1 else size
date_range = (content[start+12:end])
start = end + 1
#printing test
print (date_range)
#split
date1,date2= date_range.split(' to ')
print (date1)
print (date2)
我得到下面的輸出和一個錯誤:
January 1, 2001 to December 24, 2008
January 1, 2001
December 24, 2008
Traceback (most recent call last):
File "C:/Users/vinnu/Desktop/split_eg3.py", line 19, in <module>
date1,date2= date_range.split(' to ')
ValueError: not enough values to unpack (expected 2, got 1)
我建議保存在一個變量(從而節省返回值的整個列表),並打印了這一點,從分裂的返回值來檢查什麼值你得到。在我看來,就像你沒有得到從分裂功能2返回值,只有1 –
這很奇怪;我無法重現你的錯誤;代碼對我來說看起來很好。你確定沒有別的東西嗎? –
看起來你的while循環的第二次迭代出現錯誤,所以問題可能在另一個地方。 – Sergius