【问题标题】:Trying to make a program that you push a button, choose a file, and the program then prints a certain value from that file尝试制作一个程序,您按下按钮,选择一个文件,然后程序从该文件中打印出某个值
【发布时间】:2017-10-07 00:42:27
【问题描述】:

我对编码很陌生,我尝试了很多不同的东西,但没有一个对我有用。

这是我的代码。到目前为止,使用此代码一切正常,但我不确定如何在我的代码中实现读取功能。我的主要问题是,在每个人的阅读示例中,他们都使用确切的文件名,而我需要使用原始输入。

编辑:我可以自己解决这个问题,通过使用 open(filename, "r") 它可以让您选择要读取的文件。而不是只打开该特定文件的“6543.txt”。

from tkinter import Tk
from tkinter import *
from tkinter.filedialog import askopenfilename

root = Tk()
root.title("Amazon Error Handler")
root.geometry("300x150")

frame = Frame(root)
frame.pack()
bottomframe = Frame(root)
bottomframe.pack( side = BOTTOM )
def getfile():
    filename = askopenfilename()
    print(filename)
    getfile = open(filename,"r")
    print(getfile.read(1))
    print(getfile.read())
button = Button(frame, text="Choose File", fg="black", command=getfile)
button.pack( side = BOTTOM)

root.mainloop()

【问题讨论】:

  • @JonathanPorter 抱歉没有提供足够的信息,我更新了问题以显示我的确切问题。
  • @JonathanPorter 这是一个文本文件,它们都被保存为不同的名称。像 6543、6544、6545 等。我注意到,在其他所有人的阅读示例中,他们使用了像“6543”这样的文件名,但在我的情况下,我需要它作为用户输入,并且没有这样的示例工作。
  • @JonathanPorter 我现在有它,当我按下“选择文件”按钮时,它确实打印出文件,但它只打印文件“6604570358017437.txt”,所以我做了进步,但我仍然需要它来打印我选择的任何文件。
  • 如果您希望用户输入姓名,为什么不使用函数input()?例如filename = input()。然后你可以像这样附加文件类型:getfile = open("{}.txt".format(filename), "r")
  • @JonathanPorter 我终于能够自己解决了。其实很简单。我没有使用“文件名”,而是将文件名不带引号,现在我的程序可以正常工作。感谢您的帮助。

标签: python-3.x


【解决方案1】:

这是我用来解决自己问题的代码。该程序只是一个按钮,用于读取选定的文件并打印其内容。

from tkinter import Tk
from tkinter import *
from tkinter.filedialog import askopenfilename

root = Tk()
root.title("Amazon Error Handler")
root.geometry("300x150")

frame = Frame(root)
frame.pack()
bottomframe = Frame(root)
bottomframe.pack( side = BOTTOM )
def getfile():
    filename = askopenfilename()
    print(filename)
    getfile = open(filename,"r")
    print(getfile.read(1))
    print(getfile.read())
button = Button(frame, text="Choose File", fg="black", command=getfile)
button.pack( side = BOTTOM)

root.mainloop()

【讨论】:

    猜你喜欢
    • 2015-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多