作者:喂╲偶稀飯妳 | 来源:互联网 | 2023-05-23 09:40
我正在编写一个脚本来自动将一个文件中的特定文本集更改为另一个文件中具有不同名称的特定集.
我想使用该askopenfilename
函数获取文件的名称,但是当我尝试打印文件名时,它返回:
<_io.TextIOWrapper name='/home/rest/of/file/path/that/I/actually/need.txt' mode='w' encoding='ANSI_X3.4-1968'>
我只需要文件名,因为<_io.TextIOWrapper ...>
它不是子脚本.
任何删除无关位的建议?
1> nbro..:
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
如果您按下取消按钮.
如果你想坚持askopenfile
让刚刚打开的文件的文件路径,你可以简单地访问叫物业name
的中_io.TextIOWrapper
返回的对象:
file = fd.askopenfile()
if file:
print(file.name)
如果您想了解有关filedialog
(或tkFileDialog
Python 2)模块下定义的所有函数的更多信息,可以阅读本文.