打开文件对话框

你好,我有一个计划,我和matplotlib情节10次要情节.启动这个项目我现在在控制台类型:python dataplot.py DATAFILE_10.10.07.csv但是我想要的是python问我的文件,我可以选择一种浏览窗口.如何实现呢?我虽然用Qt创建GUI的浏览(我不知道如何去做),然后点击按钮情节应该启动程序dataplot与本选定的数据文件.希望有人能帮助我.

# 回答1

很简单的使用Tkinter.甚至还有一种隐藏Tk主窗口(我认为):

选择 | 换行 | 行号
  1. from Tkinter import Tk
  2. from tkFileDialog import askopenfilename
  3.  
  4.  
  5. if __name__ == '__main__':
  6.     root=Tk()
  7.     fileName = askopenfilename()
  8.     root.destroy()
  9.     print fileName
  10.  
# 回答2

在windows中,工作时我使用下面的代码,我粘贴.一次我看着所有的有趣的事情你可以做这个简单的示例,但是刚刚被复制、粘贴,使多年的小插件.我不得不说虽然在win32它是简单和直接,我能找到.

选择 | 换行 | 行号
  1. >>> import win32ui,win32con
  2. >>> fd = win32ui.CreateFileDialog(1,'','', 0,'Text |*.txt')
  3. >>> fd.SetOFNTitle("Select Text File")
  4. >>> if fd.DoModal() == win32con.IDCANCEL: sys.exit(1)
  5. ... 
  6. >>> print fd.GetPathName().replace('\\','/')
  7. C:/users/dennis/python/forum.txt
  8. >>> 

如果我想选择多个文件和返回的名字为我要做类似的列表.

选择 | 换行 | 行号
  1. import win32ui,win32con,sys
  2. fd = win32ui.CreateFileDialog(1,None,None,win32con.OFN_ALLOWMULTISELECT,'All Files|*.*')
  3. fd.SetOFNInitialDir('c:\\tmp')
  4. fd.SetOFNTitle('Select multiple files')
  5. if fd.DoModal() == win32con.IDCANCEL:sys.exit(1)
  6. print fd.GetPathNames()

如果我运行它并选择一些随机文件给我之类的……

选择 | 换行 | 行号
  1. ['C:\\tmp\\Stadium.png', 'C:\\tmp\\BucksX4.png', 'C:\\tmp\\ShiftProblem.png', 'C:\\tmp\\BucksX1.png']
# 回答3

一个伟大的解决方案,很高兴知道你还在.

标签: python

添加新评论