你能用自己的话解释STA和MTA吗?
什么是公寓线程,它们只与COM有关吗?如果是这样,为什么?
我刚用这个纠正了一个bug:
_Thread.SetApartmentState(ApartmentState.STA);
Run Code Online (Sandbox Code Playgroud)
现在我想了解它的含义,以及它的工作原理!
我有一个简单的脚本,它解析文件并将其内容加载到数据库.我不需要UI,但是现在我提示用户使用raw_input哪个文件解析最不友好,特别是因为用户无法复制/粘贴路径.我想快速简便地向用户呈现文件选择对话框,他们可以选择文件,然后将其加载到数据库.(在我的用例中,如果他们碰巧选择了错误的文件,它将无法解析,即使它被加载到数据库也不会有问题.)
import tkFileDialog
file_path_string = tkFileDialog.askopenfilename()
Run Code Online (Sandbox Code Playgroud)
这段代码接近我想要的,但它留下一个恼人的空框架打开(无法关闭,可能是因为我没有注册一个关闭事件处理程序).
我不必使用tkInter,但由于它在Python标准库中,因此它是最快和最简单的解决方案的良好候选者.
什么是在没有任何其他UI的情况下在脚本中提示文件或文件名的快速简便方法?