
哦。这是个问题哟。好象是我也遇到过。似乎是一个开关。要允许打开空文件?还是什么的。或者是你回到上一级目录,点击目录,然后点打开。
打开lib-tk目录下的FileDialogpy,我给你找一找。
代码显示,这个对话框是可以同时支持dir和file的。
这里有一个代码。
class LoadFileDialog(FileDialog):
"""File selection dialog which checks that the file exists"""
title = "Load File Selection Dialog"
def ok_command(self):
file = selfget_selection()
if not ospathisfile(file):
selfmasterbell()
else:
selfquit(file)
由此可见,你重载一下ok_commend就可以改变它的行为。比如
class MyLoadFileDialog(FileDialog):
"""File selection dialog which checks that the file exists"""
title = "Load File Selection Dialog"
def ok_command(self):
file = selfget_selection()
if not ospathisfile(file):
#selfmasterbell()
selfquit(file) #加这一句
else:
selfquit(file)
这样应该没有问题了。
用内置函数: __file__
给一个Django的示例,这是获取当前文件的上一级目录的实例。
import os# Build paths inside the project like this: ospathjoin(BASE_DIR, )
BASE_DIR = ospathdirname(ospathdirname(ospathabspath(__file__)))
前天我遇到一个小坑,就是,我百度了一下后,使用sys模块的方法syspath[0]去获取执行路径打包成exe和py文件执行那是两种结果,打包exe后会出现奇怪的路径,所以解决方法是这样子的:
获取本exe执行路径名字应该使用os模块和sys模块去获取
ospathdirname(sysexecutable)
像这样子,就能获取执行的路径了。
如果觉得我的文章对您有帮助,记得帮我点赞加收藏哦,谢谢各位哥哥姐姐们
你的要求很模糊,你不太了解python吧?
只能大概写一下。
import Tkinter
def file_path(file_name):
print file_name
root = TkinterFrame()
rootmastertitle('title')
a=TkinterButton(root, text="Change",command=lambda: file_path('axls'))
apack()
rootpack()
import sys
import ospath
package = "foo"
resource = "barini"
# pkgutilget_data(package, resource)
ospathabspath(ospathjoin(ospathdirname(sysmodules[package]__file__), resource))
如果你说的是包的资源文件,可以用上面的方法获取资源文件的绝对路径。
以上就是关于怎么用python获取一个文件夹的路径,要对话框模式全部的内容,包括:怎么用python获取一个文件夹的路径,要对话框模式、在python中,如何获取脚本文件所在路径、python打包exe后如何获取自身的执行路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)