2016-11-07 98 views
-3

我在這裏有一個簡單的問題。我有一個txt文件中的兩個數字,我正在嘗試創建一個方法,可以在我的代碼中爲txt文件中的這兩個數字更改兩個變量。在Python中加載一個txt文件

這裏是我的方法:

def loadCoords(cordX, cordY): 
    i=0; 
    f1 = open('continue.txt', "r") 
    f2 = open('continue.txt', "r") 
    f1.readline(); 
    while i<2: 
     f2.readline(); 
     i=i+1; 
    #already tested>>> cord=f.readline() xD 
    #also tried to put another names for the cordX and cordY here inside xD 
    cordY=f2; 
    cordX=f1; 
    return cordX; 
    return cordY; 

這裏是我打電話的方法:

if evento.type == pygame.KEYDOWN: 
      if evento.key == pygame.K_a: 
        print('GAME BEGIN') 
        GAME_BEGIN = True 
        loadCoords(cordX,cordY); 

有人可以幫助?

+0

什麼是你所得到的錯誤? –

+0

沒有人,它只是無法讀取f1和f2文件,coordX和Y打印0和0,我已經在開始聲明的數字。 – Aury0n

+0

可能的重複[如何在Python中將文本文件讀入字符串變量](http://stackoverflow.com/questions/8369219/how-do-i-read-a-text-file-into-a-字符串變量在Python中) – DeepSpace

回答

0

忘了,它完成,哈哈哈def loadCoords(): f1 = open("continue.txt", "r") text=f1.read() num_list=text.split() print (num_list) cordX=num_list[0] print(cordX) cordY=num_list[1] f1.close()
return cordX,cordY

0

該方法f1.readline()返回的東西,但你沒有使用返回的結果(這將作爲列表在這種情況下)。將函數輸出放入一個變量(如f1_content = f1.readline())。

+0

'readline()'雖然存在。另外,如果你寫得很流利,你就不需要寫下「對不起英語」。 –

+0

在,謝謝,我一直認爲我犯了一個錯誤......無論如何。我只是被readline()激怒了,但是,是的,它存在 – YpsilonZett

+0

哈哈你好,我已經在@ YpsilonZett之前測試了你的猜測,但是當幫我解決問題時,我公開了答案, – Aury0n

0

如果你的文本文件包含在單獨的行兩個數字,然後用這個

def loadCoords(): 
    f1 = open('continue.txt', "r") 
    text=f1.read() 
    num_list=text.split(sep='\n') 

    cordY=int(num_list[0]) 
    cordX=int(num_list[1]) 
    f1.close() 
    return cordX,cordY 

不要使用你的函數的兩個回報,因爲第一回會從功能退出,你輸了,你回什麼下一個。

如果你從一個文本文件加載兩個座標,那麼爲什麼你傳遞兩個參數給你的函數,而是加載返回值。

cordX,cordY=loadCoords() 
+0

tks爲你的幫助和提示@Rakesh_K,我只是試圖改變我的腳本到你的,我有錯誤:_cordX = int(num_list [0]) ValueError:無效文字爲int()與基地10:'52 150 '_ – Aury0n

+0

我以前從未遇到過這樣的問題,也許可能是那些控制檯正在閱讀的內容(但我沒有在我的文件中找到這個)......你認爲這是什麼? tks – Aury0n

+0

忘記,它完成了,hahaha'def loadCoords(): f1 = open(「continue.txt」,「r」) text = f1.read() num_list = text.split() print(num_list ) cordX = num_list [0] 打印(cordX) 科迪= num_list [1] f1.close() 回報cordX,科迪」 – Aury0n