Как сохранить полный путь к файлу, но отображать только базовое имя в сортируемом списке Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как сохранить полный путь к файлу, но отображать только базовое имя в сортируемом списке Python?

Сообщение Anonymous »

Я пытаюсь отобразить только базовое имя файла в списке Python, но каким-то образом сохранить полный путь к файлу. Я знаю, как отображать только базовое имя файла, но проблема в том, что список можно сортировать, и когда я пытаюсь выполнить следующий шаг программы (распечатка файлов в формате PDF), она не может найти файлы в списке, потому что они не имеют полного пути к файлу. Если я покажу полный путь к файлу в списке, это сработает, но я бы предпочел видеть только имя файла.
Код приведен ниже. Я удалил большую часть функций, чтобы просто сосредоточиться на том, о чем спрашиваю.
Приведенный ниже код откроет окно tk. Нажмите кнопку «Индивидуальная сортировка». Выберите любые файлы изображений. В новом окне нажмите «Сохранить список». Цель состоит в том, чтобы напечатать исходный путь к файлу изображения, но в настоящее время он печатает путь, в котором находится программа. Если вы закомментируете/раскомментируете помеченные строки, это будет работать, но в списке будет отображаться полный путь к файлу.
import tkinter as tk
from tkinter import *
from tkinter import filedialog
import os

ws = Tk()
ws.title('Select Files to Import')
ws.geometry('500x200')
ws.config(bg='#456')

f = ('sans-serif', 13)
btn_font = ('sans-serif', 10)
bgcolor = '#BF5517'

def sort():
global second
second = Toplevel()
second.geometry('800x400')
menubar=Menu(second)
menubar.add_command(label="Save List", command=save)
second.config(menu=menubar)
global listbox
listbox = Drag_and_Drop_Listbox(second)
listbox.pack(fill=tk.BOTH, expand=True)
directory = filedialog.askopenfilenames()
n = 0
for file in directory:
listbox.insert(n, os.path.basename(file)) ####comment
#listbox.insert(n, file) ####uncomment
n=n+1

def save():
image=listbox.get(0, listbox.size())
for x in image:
print(os.path.abspath(x))

class Drag_and_Drop_Listbox(tk.Listbox):
def __init__(self, master, **kw):
kw['selectmode'] = tk.SINGLE
tk.Listbox.__init__(self, master, kw)
self.bind('', self.getState, add='+')
self.bind('', self.setCurrent, add='+')
self.bind('', self.shiftSelection)
def setCurrent(self, event):
self.curIndex = self.nearest(event.y)
def getState(self, event):
i = self.nearest(event.y)
self.curState = self.selection_includes(i)
def shiftSelection(self, event):
i = self.nearest(event.y)
if self.curState == 1:
self.selection_set(self.curIndex)
else:
self.selection_clear(self.curIndex)
if i < self.curIndex:
x = self.get(i)
selected = self.selection_includes(i)
self.delete(i)
self.insert(i+1, x)
if selected:
self.selection_set(i+1)
self.curIndex = i
x = self.get(i)
selected = self.selection_includes(i)
self.delete(i)
self.insert(i-1, x)
if selected:
self.selection_set(i-1)
self.curIndex = i

frame = Frame(ws, padx=20, pady=20, bg=bgcolor)
frame.pack(expand=True, fill=BOTH)

btn_frame = Frame(frame, bg=bgcolor)
btn_frame.grid(columnspan=2, pady=(50, 0))

sort_btn = Button(
btn_frame,
text='Individual Sort',
command=sort,
font=btn_font,
padx=10,
pady=5
)
sort_btn.pack(side=LEFT, expand=True, padx=(5,5))

ws.mainloop()


Подробнее здесь: https://stackoverflow.com/questions/791 ... ble-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как сохранить полный путь к файлу, но отображать только базовое имя в сортируемом списке Python?
    Anonymous » » в форуме Python
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Как сохранить полный путь к файлу, но отображать только базовое имя в сортируемом списке Python?
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Как сохранить полный путь к файлу, но отображать только базовое имя в сортируемом списке Python?
    Anonymous » » в форуме Python
    0 Ответы
    25 Просмотры
    Последнее сообщение Anonymous
  • Java, получить полный путь к файлу и удалить имя файла
    Anonymous » » в форуме JAVA
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Получить полный путь к выбранному файлу в PHP
    Anonymous » » в форуме Php
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»