python - 使用 Python filedialog askopenfilename() 方法打开文件时如何获取文件类型?
问题描述
我有这个用 python tkinter 编写的程序,它使用 tkinter filedialog askopenfilename() 方法打开一个文件。它将获取该文件的内容并将其插入文本框。
我希望能够获取该文件的文件类型(即,如果文件是 Python 文件,那么我希望控制台打印“.py”,如果它的 HTML 则我希望它打印“.html”等等) .
所以这就是我尝试的:
FilePath = filedialog.askopenfilename(initialdir="C:/gui/", title="Open a File", filetypes=(("All Files", "*.*"), ("Text Files", "*.txt"), ("HTML Files", "*.html"), ("CSS Files", "*.css"),("JavaScript Files", "*.js"), ("Python Files", "*.py")))
print(FilePath)
但是,这给了我:/home/Test/RandomFolder/Test.py
是否有可能在最后得到“.py”?
解决方案
open_File = easygui.fileopenbox(msg="Choose a file", default=r'C:\Users\user\*.txt')
extension = open_File.split('.', 1)
print(extension)
所以我在这里所做的是获取用户路径,因为通常在一个路径中你不会有.
任何地方,除非它在文件的末尾,如果你想要之前的所有内容,我已经将字符串拆分为 2.
刚刚使用extension = open_File.split('.', 0)
,以及使用上述代码后的所有内容。
此外,虽然我在这种情况下使用的是 Easygui,但它适用于任何文件对话框方法,其原理是关于如何从字符串中获取所需内容。
推荐阅读
- cloud - 我应该为 SaaS 开发新的应用程序吗?
- c++ - 在 C++ 中两次删除指针
- rust - wasm rust base 64 支持
- android - Android İinterstitial Ad Navbar 出现问题
- android - 如何在发布应用程序后添加新内容并且用户在没有更新应用程序的情况下看到它们?
- sql-server - SSMA 在连接到 microsoft access 数据库时挂起
- javascript - 如何通过 jQuery 在本地存储中保存暗模式?
- java - 如果我在for循环中定义了两个循环变量,如何更新循环变量
- twilio - 如何在 Twilio 中的媒体流调用期间更改 TWIML
- python - 如何使用 spotify API 唤醒您的设备并获取设备 ID?