如何打开名称中包含空格的文件?

时间:2017-03-04 22:53:27

标签: python tkinter

这是我的代码:

jQuery('#divList').find('div').sort(function (a, b) {
return jQuery(a).attr('data-sort') - jQuery(b).attr('data-sort');
}).appendTo('#divList');

简而言之,除了名称中包含空格的文件外,这似乎适用于任何文件。

我尝试从终端执行上面的代码,由于文件名中的空格,我收到错误。它似乎已将文件名拆分为两个不同的名称,并且它已尝试打开甚至不存在的文件(对应于这些拆分名称)。

错误示例

  

文件/ Users / dylanrichards / Desktop / boot和/Users/dylanrichards/Desktop/strap.css不存在。

此示例中的文件名为from Tkinter import * import os from tkFileDialog import askopenfilename def openfile(): Tk().withdraw() filename = askopenfilename() os.system("open " + filename) print(filename) root = Tk() button = Button(root, text="Choose File", command=openfile) button.pack() root.mainloop()

如果有人能够回答这个问题,我们将不胜感激......

以下是命令boot strap.css输出的屏幕截图,其中cat text-opener.py是我正在尝试执行的Python脚本。

Terminal Screenshot

1 个答案:

答案 0 :(得分:2)

您遇到了这个问题,因为您尝试执行的脚本不包含与您最初发布的代码相同的代码。

在您的text-opener.py中,您尝试按以下方式打开文件:

os.system("open filename")

根据您的示例,filename = "boot strap.css"。因此,您尝试执行以下命令:

os.system("open boot strap.css")
来自终端的

将简单地转换为表格

的命令
open boot strap.css

事实上,在这种情况下,我也收到了你的错误。你需要做的是用引号括起filename,即

os.system("open '"+ filename + "'")

或只是使用您最初发布的代码。

总结

您最初发布的代码与您尝试执行的代码不同!您基本上是尝试将不同的参数传递给open