蟒蛇。文件打开程序

时间:2016-03-07 18:19:29

标签: python tcl

如何在Python 2.7中翻译以下代码(用TCL编写)?

set types {{"Text file" ".txt"} {"All Files" "*.*"}}
set file [tk_getOpenFile -filetypes $types -parent . -initialdir [pwd]]
if {$file=={}} {return}
set f [open $file r]
set fullPath [file rootname $file]
set name [lrange [split $fullPath "/"] end end]

1 个答案:

答案 0 :(得分:1)

要使用文件对话框,您必须导入tkFileDialog。它可以像这样使用:

import tkFileDialog
import os               # so we can call getcwd()
...
types = (("Text file", ".txt"), ("All Files", "*.*"))
file = tkFileDialog.askopenfilename(filetypes=types, initialdir=os.getcwd())

要打开文件,有很多方法。字面翻译将是:

f = open(file, "r")

更加pythonic的方式是使用with语句:

with open(file, "r") as f:
    <code to work with the file here>

请注意,如果您想要获取路径并同时打开它,则可以使用askopenfile而不是askopenfilename。在这种情况下,askopenfile将在tcl代码中返回等效的f

os.path模块为您提供了大量处理文件名的功能。