python处理filedialog获取的绝对路径

对于手动选择的文件的绝对路径操作得到文件的文件名、无后缀文件名和文件路径

1、读取文件的绝对路径

当需要打开文件对话框手动选择文件时,我们需要选择导入tkinter.filedialog函数,tkinter是python内置库不需要安装,获取文件制定路径使用filedialog.askopenfilename,返回类型为字符串

可选参数

参数用法
title指定文件对话框的标题栏文本
parent

打开文件对话框的窗口,如果不指定该选项,那么对话框默认显示在根窗口上;如果为单独语句则自建一个窗口;如果想要将对话框显示在子窗口 win上,那么可以设置 parent=win即可

initialdir指定打开文件路径的default值;如果不指定该项则为当前路径
filetypes指定筛选文件类型的下拉菜单选项; 该选项的值是由 2 元祖构成的列表; 每个 2 元祖由(类型名,后缀)构成,例如:filetypes=[(“PNG”, “.png”), (“JPG”, “.jpg”), (“GIF”, “.gif”),(‘Excel’,“.xls .xlsx”)]
defaultextension

指定文件的后缀;

例如:defaultextension=".jpg"那么当用户输入一个文件名"xxx"的时候,文件名会自动添加后缀为 “xxx.jpg”;

注意:如果用户输入文件名包含后缀,那么该选项不生效

from tkinter import filedialog
import tkinter as tk

root = tk.Tk()
root.withdraw()
absolute_path = filedialog.askopenfilename(title='请选择一个文件', parent=root, initialdir=r'C:\Users',
                                           filetypes=[("PNG", ".png"), ("JPG", ".jpg")])

得到绝对路径:绝对路径:C:/Users/24533/Pictures/图片/图片1.jpg

2、使用os.path.basename获取带后缀的文件名

import os
file_name = os.path.basename(absolute_path)
print("文件名:" + file_name)
# 文件名:图片1.jpg

3、去后缀

1、路径为字符串,对路径进行字符串切片

filename1 = file_name.split(".")[0]
print("无后缀文件名:" + filename1)
# 无后缀文件名:图片1

2、使用 pathlib,该文件不用真实存在,返回值为str

from pathlib import Path

filename2 = Path(absolute_path).stem
print("无后缀文件名:" + filename2)
# 无后缀文件名:图片1

3、使用os.path.dirname获取路径

path = os.path.dirname(absolute_path) + '/'
print("路径:" + path)
# 路径:C:/Users/24533/Pictures/图片/

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值