2017-02-16 32 views
0

我目前正試圖幫朋友出來與我之前都做了,但即時通訊卡相同的任務。一旦程序運行和「取票」按下此錯誤消息顯示:整數參數預期的錯誤Tkinter的蟒蛇3.4

在處理上述異常,另一個異常:

回溯(最後最近一次調用): 文件「C: \ Python34 \ LIB \ tkinter__init __ PY 「線1533,在通話 回報self.func(*參數) 文件」 C:\用戶\哈丁\文檔\奧利\作業\ Year10 \計算\新建文件夾\停車場3.4(1).py「,第21行,在reg_output b.readlines(v.get()) TypeError:預期的整數參數,得到'str'

代碼:

from tkinter import * 
    import time 

    root = Tk() 
    root.title('Car Park') 

    v = StringVar() 

    car_in=Label(root, text= "Please enter your reg number") 
    car_in.grid(column=1, row=1) 

    reg_input=Entry(root, textvariable =v) 
    reg_input.grid(column=1, row=2) 

    def reg_input(): 
    with open ('tickets.txt', 'w') as b: 
     b.writelines(v.get()) 

    def reg_output(): 
    with open ('tickets.txt', 'r') as b: 
     b.readlines(v.get()) 

    reg_input_but=Button(root, text='Submit', command=reg_input) 
    reg_input_but.grid(column=1, row=4) 

    reg_output_b=Button(root, text='Get Ticket', command=reg_output) 
    reg_output_b.grid(column=1, row=5) 

回答

1

v是STRINGVAR,因此v.get()返回一個字符串。 b.readlines(行),需要線是整數,因爲線確定的行數應該如何被讀取。如果您省略參數,它將讀取所有行。

0

望着錯誤,功能readlines預計整數參數和v.get()返回一個字符串,導致錯誤。你可以做的僅僅是第21行更改b.readlines(v.get())b.readlines()修復錯誤。

下面是經過編輯的代碼。

from tkinter import * 
import time 

root = Tk() 
root.title('Car Park') 

v = StringVar() 

car_in=Label(root, text= "Please enter your reg number") 
car_in.grid(column=1, row=1) 

reg_input=Entry(root, textvariable =v) 
reg_input.grid(column=1, row=2) 

def reg_input(): 
    with open ('tickets.txt', 'w') as b: 
     b.writelines(v.get()) 

def reg_output(): 
    with open ('tickets.txt', 'r') as b: 
     b.readlines() 

reg_input_but=Button(root, text='Submit', command=reg_input) 
reg_input_but.grid(column=1, row=4) 

reg_output_b=Button(root, text='Get Ticket', command=reg_output) 
reg_output_b.grid(column=1, row=5)