Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取一个文件&x27;askopenfilename选择的字符串中的s目录_Python_Tkinter_Extract_Filedialog - Fatal编程技术网

Python 获取一个文件&x27;askopenfilename选择的字符串中的s目录

Python 获取一个文件&x27;askopenfilename选择的字符串中的s目录,python,tkinter,extract,filedialog,Python,Tkinter,Extract,Filedialog,我正在制作一个程序,您可以使用askopenname文件对话框来选择一个文件,然后我想将目录保存为一个字符串,这样我就可以使用另一个函数(我已经制作)将文件提取到预定的不同位置。 打开文件对话框的按钮代码如下: `a = tkinter.Button(gui, command=lambda: tkinter.filedialog.askopenfilename(initialdir='C:/Users/%s' % user))` 这应该是您想要的: import tkinter import

我正在制作一个程序,您可以使用askopenname文件对话框来选择一个文件,然后我想将目录保存为一个字符串,这样我就可以使用另一个函数(我已经制作)将文件提取到预定的不同位置。 打开文件对话框的按钮代码如下:

`a = tkinter.Button(gui, command=lambda: tkinter.filedialog.askopenfilename(initialdir='C:/Users/%s' % user))`

这应该是您想要的:

import tkinter
import tkinter.filedialog
import getpass
# Need this for the `os.path.split` function
import os
gui = tkinter.Tk()
user = getpass.getuser()
def click():
    # Get the file
    file = tkinter.filedialog.askopenfilename(initialdir='C:/Users/%s' % user)
    # Split the filepath to get the directory
    directory = os.path.split(file)[0]
    print(directory)
button = tkinter.Button(gui, command=click)
button.grid()
gui.mainloop()

如果您知道文件的实际位置,则始终可以使用以下命令请求目录而不是文件:

from tkFileDialog  import askdirectory  
directory= askdirectory()
然后在代码中:

import tkinter
import tkinter.filedialog
import getpass
from tkFileDialog  import askdirectory
# Need this for the `os.path.split` function
import os
gui = tkinter.Tk()
user = getpass.getuser()
def click():
    directory= askdirectory()
    print (directory)
button = tkinter.Button(gui, command=click)
button.grid()
gui.mainloop()

真为你高兴。你有问题吗?什么?我是怎么做到的?!我的另外两个问题很好。你能告诉我们你试过什么吗?在官方文件和其他网站上有很多例子。向我们展示您的尝试,我们可以帮助您理解代码失败的原因。我现在不知道如何尝试。这就是我问的原因。你的问题实际上是问你的问题。包括您尝试过的内容和任何结果。是否有一个方便的小部件?像
tix.FileEntry(self,dialogtype='tixDirSelectDialog')
但是没有tix?我一直在寻找解决方案。非常感谢。