当前位置: 首页 > 面试题库 >

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

狄楷
2023-03-14
问题内容

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

我想使用该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如果您按 取消
按钮。

如果您要坚持askopenfile获取刚刚打开的文件的文件路径,则只需访问返回name_io.TextIOWrapper对象的属性即可:

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

如果您想了解有关filedialog(或tkFileDialog针对Python 2)模块下定义的所有函数的更多信息,请阅读
本文



 类似资料:
  • 问题内容: 如果我有一个打开的文件,是否有调用以字符串的形式获取完整路径? 从,我将如何获得? 问题答案: 此处的键是代表打开文件的对象的属性。你得到这样的: 有帮助吗?

  • 问题内容: 这是来自三个文件的一些示例代码: 我需要动态获取调用方函数的文件路径,而无需传递任何额外的参数。 问题答案: 您需要弄弄的内部运作。请参阅:有关JavaScript Stack Trace API的Wiki条目 。 我已经对提议的提交中的某些代码进行了一些测试,它似乎可以工作。您最终会走上一条绝对之路。 以及一个包含模块的测试: 您将在控制台上找到的绝对路径。 说明 这不是一个“ no

  • 我想从SD卡文件路径中获取文件名。e、 g.:/storage/sdcard0/DCIM/Camera/1414240995236。jpg我想得到1414240995236。jpg我已经编写了获取相同内容的代码,但它不起作用。请帮忙<下面是我的代码:

  • 我的目标是用子集合test2下的[0]th+[1]th+[2]the document的值更新数据更新的test1ID文档。 但是使用下面的代码,我得到了未定义的test2文档列表(currentTest2DocumentList)。 (错误消息=>TypeError:无法读取未定义的属性“0”) 我怎样才能获得有效的子托收文件列表?

  • 问题内容: 这个问题已经在这里有了答案 : 7年前关闭。 可能重复: 使用jQuery输入文件的完整路径 我有以下html元素 如果我用 我只是文件名,而不是文件的完整绝对路径。有人可以告诉我如何获得完整路径吗? 问题答案: 您不能这样做-由于安全问题,浏览器将不允许这样做。尽管有解决方法,但事实是您不应该依靠这种方法。以下堆栈溢出问题与此处相关: 使用jquery输入文件的完整路径 如何从Fir