第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

嘗試將文本文件放入數(shù)組時(shí),python 值錯(cuò)誤預(yù)期 2 收到一個(gè)

嘗試將文本文件放入數(shù)組時(shí),python 值錯(cuò)誤預(yù)期 2 收到一個(gè)

我試圖獲取一些代碼,該代碼將查看一個(gè)文本文件并將行拆分為 2 個(gè)變量,但是當(dāng)我運(yùn)行此代碼時(shí),我收到錯(cuò)誤 ValueError: 沒(méi)有足夠的值來(lái)解包(預(yù)期 2,得到 1), 代碼是:x=0f = open("scores.txt","a")    f.write("\n")    f.write("andrew:78")    f.write("\n")    f.write("karen:64")    f.close    f = open("scores.txt","r")        a,b = ("karen:67").split(":")    print (a)    print(b)scores = [[],[]]while 0 != 1 :    line=(f.readline(x))    a,b = (line).split(":")    scores[0] = a        scores[1]=b這是文本文件,提前致謝
查看完整描述

3 回答

?
瀟湘沐

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊

這 line=(f.readline(x))是類似的東西 (["content of file"]),即它是元組內(nèi)列表中的文件內(nèi)容。


您需要將其定義的大小x從 0 更改為某個(gè)值,或者不使用它。即 fromline = (f.readline(x))到line = f.readline()現(xiàn)在將是一個(gè)字符串。


現(xiàn)在您可以對(duì)字符串對(duì)象使用拆分操作。改成a, b = (line).split(':')_a, b = line.split(':')


所以新的代碼將是


# opening/cretaing a file and adding data

with open("scores.txt", 'a') as f:   

    f.write("\n")    

    f.write("andrew:78")    

    f.write("\n")    

    f.write("karen:64")    



# creating a dictionary to save data of name and score respectively


scores = {'name':[], 'score':[]}


# again opening the file in read mode

with open("scores.txt", 'r') as f:

    data = f.readlines() # reading all line in file at single time

    for each_line in data: 

        if line.split(':'): # checking if each line has format <name>:<score> or not, if yes then add that data to scores dict

            name, score = line.split(':')

            scores['name'].append(name)

            scores['score'].append(score)


# seeing the result

print(scores)


查看完整回答
反對(duì) 回復(fù) 2024-01-15
?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個(gè)贊

這段代碼能達(dá)到你想要的效果嗎?


with open("scores.txt", "a") as f:

    f.write(

        "\nandrew:78"

        "\nkaren:64"

    )


scores = []


with open("scores.txt", "r") as f:

    lines = f.readlines()

    for line in lines:

        if ":" in line:

            a, b = (line).split(":")


            scores.append({a: b})

您可能遇到錯(cuò)誤,因?yàn)槟承┬校瞻仔校](méi)有“:”,因此該行只是一個(gè)字符串,您試圖將其解壓縮為兩個(gè)變量。


查看完整回答
反對(duì) 回復(fù) 2024-01-15
?
HUH函數(shù)

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超4個(gè)贊

它會(huì)在換行符 '\n' 之前打印出一個(gè)空字符 '' - 我認(rèn)為你想要的是這樣的:


lines = f.read().splitlines()

#This will only get the value for one line

scores[0], scores[1] = lines[0].split(':')


#Or to get both lines:

i=0

for line in f.read().splitlines():

    scores[i][0], scores[i][1] = line.split(':')

    i += 1


查看完整回答
反對(duì) 回復(fù) 2024-01-15
  • 3 回答
  • 0 關(guān)注
  • 209 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)