从Tkinter中的askopenfilename函数获取文件路径
我正在编写一个脚本,以自动将一个文件中的特定文本集更改为另一个文件中具有不同名称的特定集。
我想使用该askopenfilename
函数获取文件名,但是当我尝试打印文件名时,它返回:
<_io.TextIOWrapper name='/home/rest/of/file/path/that/I/actually/need.txt'
mode='w' encoding='ANSI_X3.4-1968'>
我只需要文件名,因为<_io.TextIOWrapper ...>
不能写脚本。
有什么建议删除多余的位吗?
回答:
askopenfilename()
返回所选文件的路径;如果未选择文件,则返回空字符串:
from tkinter import filedialog as fdfilename = fd.askopenfilename()
print(len(filename))
要打开通过选择的文件askopenfilename
,您可以简单地使用常规的Python构造和函数,例如
open
函数:
if filename: with open(filename) as file:
return file.read()
我认为您正在使用askopenfile
,它将打开选定的文件并返回一个_io.TextIOWrapper
对象,或者None
如果您按 取消
按钮。
如果您要坚持askopenfile
获取刚刚打开的文件的文件路径,则只需访问返回name
的_io.TextIOWrapper
对象的属性即可:
file = fd.askopenfile()if file:
print(file.name)
如果您想了解有关filedialog
(或tkFileDialog
针对Python 2)模块下定义的所有函数的更多信息,请阅读
本文 。
以上是 从Tkinter中的askopenfilename函数获取文件路径 的全部内容, 来源链接: utcz.com/qa/409207.html