Python文件路径和名称检索
问题描述:
好吧,所以我做了一个保存为Python的按钮,并想知道如何从保存它的位置检索文件路径。我也想知道在保存过程中名称是否改变了,怎么知道它是什么。如果我尝试在不同的.py文件中调用文件名,我收到一个错误代码。代码按钮低于Python文件路径和名称检索
感谢
import tkinter, tkinter.constants, tkinter.filedialog
class tkFile(tkinter.Frame):
def __init__(self, root):
tkinter.Frame.__init__(self, root)
button_opt = {'fill': tkinter.constants.BOTH, 'padx': 5, 'pady': 5}
tkinter.Button(self, text='Save As',command=self.asksaveasfilename).pack(**button_opt)
self.file_opt = options = {}
options['filetypes'] = [('all files', '.*'), ('csv files', '.csv')]
options['initialfile'] = 'data.csv'
options['parent'] = root
def asksaveasfilename(self):
filename = tkinter.filedialog.asksaveasfilename(**self.file_opt)
if filename:
return open(filename, 'w')
if __name__=='__main__':
root = tkinter.Tk()
tkFile(root).pack()
root.mainloop()
,我想的名字叫成是下面的代码。具体来说,我正在寻找从另存为按钮调用名称到另一个文件。错误代码在未定义状态下表明自己。
name = savePathButton.tkFile.asksaveasfilename(self)
name 'self' is not defined
答
您可以import os
,并使用os.path.dirname(os.path.realpath(__file__))
来检索文件位置。
对于实际的文件名,您可以使用os.listdir(os.getcwd())
这将返回目录中的文件名列表。
这个问题有点混乱。你会得到文件名,用来打开文件。为什么不在以后需要时将它保存? –
在程序中稍后使用时,我很难返回文件名。这更像是创建文件按钮而不是另存为按钮。 –
你在这里试图做什么? 'filename = tkinter.filedialog.asksaveasfilename(** self.file_opt)'给你用户想要保存的'filename'。为什么使用'return open(filename,'w')'?为什么不只是'返回文件名',然后在后面的函数调用'打开(文件名,'W')'写开放/创建和写入文件? – pstatix