2016-11-07 79 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