仅接受一种文件类型

2024-06-22

from tkinter import filedialog as fd

filename = fd.askopenfilename(title = "Select file",filetypes = (("CSV Files","*.csv"),("All","*.*")))

打开文件夹以选择文件,但是当我尝试时:

from tkinter import filedialog as fd

filename = fd.askopenfilename(title = "Select file",filetypes = ("CSV Files","*.csv"))

Error:

回溯(最近一次调用最后一次):文件 “D:\python_projects\csv_codes\csv_reading.py”,第 4 行,在 filename = fd.askopenfilename(title = "选择文件",filetypes = ("CSV 文件","*.csv")) 文件 "C:\Python\lib\tkinter\filedialog.py", 第375行,在askopenfilename中 return Open(**options).show() 文件“C:\Python\lib\tkinter\commondialog.py”,第 43 行,显示 s = w.tk.call(self.command,w._options(self.options)) _tkinter.TclError:错误的文件类型“.csv”,应该是“typeName {扩展名?扩展名...?}?{macType ?macTypes ...?}?”

我到底想要什么?:

我想要的只是.CSV要选择的文件。 (强制性的)


filetypes需要是元组的元组。例如:

from tkinter import filedialog as fd

filename = fd.askopenfilename(title = "Select file",filetypes = (("CSV Files","*.csv"),))

但我建议您将这一切都整齐地放在一个窗口中。例如,与您的输入相同但更整洁:

from tkinter import *
from tkinter import filedialog as fd

def get_file_name(file_entry):
    file_name = fd.askopenfilename(title = "Select file",filetypes = (("CSV Files","*.csv"),))
    file_entry.delete(0,END)
    file_entry.insert(0,file_name)

def run_and_close(event=None):
    ######################################
    ## EXECUTE OR CALL OTHER PYTHON FILE##
    ######################################
    close()

def close(event=None):
    master.withdraw() # if you want to bring it back
    sys.exit() # if you want to exit the entire thing

master = Tk()
master.title("This is my Interface")

entry_csv=Entry(master, text="", width=50)
entry_csv.grid(row=0, column=1, sticky=W, padx=5)

Label(master, text="Input CSV").grid(row=0, column=0 ,sticky=W)
Button(master, text="Browse...", width=10, command=lambda:get_file_name(entry_csv)).grid(row=0, column=2, sticky=W)

Button(master, text="Ok",     command=run_and_close, width=10).grid(row=3, column=1, sticky=E, padx=5)
Button(master, text="Cancel", command=close, width=10).grid(row=3, column=2, sticky=W)

master.bind('<Return>', run_and_close)
master.bind('<Escape>', close)
mainloop()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

仅接受一种文件类型 的相关文章

随机推荐

  • 将图像上传到服务器时图像方向发生变化

    我正在使用以下代码将图像上传到服务器 它已成功上传 但图像方向随 90 变化 我不明白如何解决这个问题 我在 SD 卡中的图像方向正确 但我不知道为什么该图像改变其方向 HttpClient httpClient new DefaultHt
  • 如何获取C/C++系统语言?

    如何获取C C 系统语言 例如 en US 或 en GB 在 POSIX 系统上 它看起来像 setlocale LC CTYPE NULL 将返回当前区域设置
  • 从包含 5 个以上项目的自定义选项卡栏的导航视图中删除“更多”按钮

    您好 我在 swift ui 中创建了一个自定义选项卡栏 其中包含 6 个选项卡 每个选项卡都嵌入 nivation 视图中 当我选择第五个或第六个选项卡时 我会在顶部看到一个 更多 按钮 这几乎就像导航链接的后退按钮 我怎样才能删除这个
  • 使用 Photoshop 脚本编写“Console.log” - ExtendScript Toolkit

    我第一次编写一些 Photoshop 脚本 如果有一个类似 console log 的函数来在 Javascript 控制台中输出数组和对象值 那肯定会很棒 ExtendScript 工具包应用程序 http www adobe com d
  • 查找 int 中的第 n 个 SET 位

    我想要找到的位置不仅仅是最低设置位n最低的设置但是 我是NOT谈论价值n第 位位置 例如 假设我有 0000 1101 1000 0100 1100 1000 1010 0000 我想找到设置的第四位 然后我希望它返回 0000 0000
  • 将 html 插入 div 并保持 ui-router ui-sref 属性正常工作

    这是我的案例 我有一个 div 需要从函数注入一些 html div div 在我的控制器中我有 this getMyLink function return a my link a 它有效 但根本不起作用 我的 html 最后只有 a m
  • 在 JSON 序列化之前更改对象

    我想在 JSON 序列化之前更改一个对象 为此 我创建了一个带有更改方法的接口 并且任何实现该接口的类都将 尝试 更改自身 是的 可能这样做不是最佳选择 但例如清酒就可以了 JsonSerialize using ChangesValues
  • 如何在一个网页上连接多个 MySQL 数据库?

    我的信息分布在多个数据库中 并且希望使用 PHP 将所有信息放到一个网页上 我想知道如何在单个 PHP 网页上连接到多个数据库 我知道如何使用以下方式连接到单个数据库 dbh mysql connect hostname username
  • PyMySQL 无法连接到本地主机上的 MySQL

    我正在尝试使用 PyMySQL 连接到本地主机上的 MySQL import pymysql conn pymysql connect db base user root passwd pwd host localhost 但是 在 Pyt
  • Protobuf.net 异常 - 检查元数据时超时

    I am 有时尝试使用 protobuf net 反序列化对象时收到以下异常 我很惊讶 因为我从来没有超过一个线程同时反序列化同一个对象 并且 protobuf net 源似乎没有使用任何静态对象进行反序列化 该异常确实提出了一个解决方案
  • jQuery 绑定事件触发事件

    我调用下面的第一个函数将第二个函数绑定到 onClick 事件 奇怪的是 调用第一个函数会导致触发第二个函数 第一个函数中的 LinkName 参数是表 td 元素的名称 可能不相关 function EnableExpand LinkNa
  • 在 main 方法中使用省略号?

    如果我在 main 方法中使用省略号会有什么不同吗 public static void main String args 没有不同 该 省略号 语法称为varargs http docs oracle com javase 1 5 0 d
  • 从 winforms picturebox 中的 url 加载的图像是否存储在缓存中?

    在 winform 应用程序的表单中 我必须显示存储在网络服务器上的图像 多个图像 显示图像没有问题 因为我可以简单地将 URL 分配给图片框 picturebox1 ImageLocation http example com Image
  • 如何用seaborn绘制阴影误差带?

    我希望创建如下图 其中显示一些值和标准差 我有两组值 包含通过两种不同方法获得的平均值和标准差 我想这样做seaborn https seaborn pydata org index html 但我不知道具体该怎么做 因为官方示例 http
  • 与多名推销员一起旅行的推销员?

    我有一个问题已被有效地简化为具有多个推销员的旅行推销员问题 我有一个要从初始位置访问的城市列表 并且必须访问销售人员数量有限的所有城市 我正在尝试想出一个启发式方法 想知道是否有人可以帮忙 例如 如果我有 20 个城市 有 2 名销售员 我
  • 如何使用Python PIL模糊图像的非矩形或圆形区域?

    在 Python 中使用 PIL 我将一个 PNG 图像叠加在另一个更大的图像之上 较小的图像是半透明的 我希望较小图像后面的区域在较大图像上变得模糊 下面的代码模糊了一个矩形区域 box 3270 1150 4030 2250 x1 y1
  • 如何在NetLogo中创建迷宫墙?

    我正在尝试创建一个有 2 个出口的 5x5 网格 并在其中放置一些墙 换句话说 我想创造一个迷宫或迷宫 我想知道是否有办法使边框线变粗或仅更改补丁一侧的颜色 我想只放一名特工进去 并通过奖励他一些积分让他找到出口 Q 学习算法 有人有想法吗
  • 如何使用 dplyr 添加灵活的增量列?

    我想使用 dplyr 将 增量 列添加到数据集 增量将计算为当前行值与前一行值之间的差 挑战在于 紧邻的前一行不一定是正确的行 因为需要进行一些过滤 考虑这个数据集 LEVEL TIME 3 0000 2 0010 2 0020 1 003
  • JQuery 中的跨站点 HTTP 身份验证

    我想看看是否可以登录使用 HTTP 身份验证的第三个站点 理想情况下 浏览器将存储凭据 不幸的是 这每次都会失败 任何帮助将不胜感激 我正在使用 base64 Jquery 插件 我已经测试过它可以工作 那么 两个问题 如何查看HTTP状态
  • 仅接受一种文件类型

    from tkinter import filedialog as fd filename fd askopenfilename title Select file filetypes CSV Files csv All 打开文件夹以选择文