gpt4 book ai didi

python - 从 Tkinter 中的 askopenfilename 函数获取文件路径

转载 作者:太空宇宙 更新时间:2023-11-03 13:42:21 24 4
gpt4 key购买 nike

我正在编写一个脚本来自动将一个文件中的一组特定文本更改为另一个文件中具有不同名称的特定文本集。

我想使用 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 fd

filename = fd.askopenfilename()
print(len(filename))

要打开用 askopenfilename 选择的文件,您可以简单地使用普通的 Python 结构和函数,例如 open功能:

if filename:
with open(filename) as file:
return file.read()

我认为您使用的是 askopenfile,它会打开选​​定的文件并返回一个 _io.TextIOWrapper 对象,或者如果您按下 None em>取消按钮。

如果你想坚持使用 askopenfile 来获取刚刚打开的文件的文件路径,你可以简单地访问 _io 的名为 name 的属性。返回的 TextIOWrapper 对象:

file = fd.askopenfile()
if file:
print(file.name)

如果您想了解更多关于 filedialog(或 Python 2 的 tkFileDialog)模块下定义的所有函数,您可以阅读 this article .

关于python - 从 Tkinter 中的 askopenfilename 函数获取文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28373288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com