Я довольно новичок в Python, поэтому, пожалуйста, извините за недостаток знаний.
В настоящее время я работаю над фильтром для ленточных архивов.Из библиотеки ленточных носителей я получаю длинный список csv с несколькими столбцами, такими как «Path, Media, MD5 и т. Д.».
Я написал небольшой скрипт-фильтр, чтобы считывать только файлы, записанные на ленте.(все ленты начинаются с буквы K и записаны в столбце «Медиа»)
from tkinter import *
from tkinter.filedialog import askopenfilename
def callback():
filename = askopenfilename()
# print(filename)
return filename
errmsg = 'Error!'
Button(text='File Open', command=callback).pack(fill=X)
inputfile = callback()
import csv
def tapefilter():
with open(inputfile, 'r') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
if 'K' in row['Media'] and 'DT' in row['Path']:
x = row['Path']
x = x.replace("/Backups","")
x = x.replace("/Volumes/", "")
x = x.split("/")
yield x
def output():
for x in tapefilter():
print(x[0], x[2])
output()
Теперь я получаю
K00130 20170504_DT12
K00130 20170505_DT13
K00130 20170508_DT14
K00130 20170508_DT14_part02
K00130 20170511_DT17
K00130 20170508_DT14_part03
K00130 20170508_DT14_part03
K00130 20170508_DT14_Masterfiles
K00130 20170508_DT14_part03
K00130 20170508_DT14_part03
K00130 20170508_DT14_part03
K00130 20170508_DT14_Masterfiles
K00130 20170508_DT14_part03
K00130 20170508_DT14_part03
K00130 20170508_DT14_part03
K00131 20170508_DT14_part03
K00131 20170508_DT14_part03
K00131 20170508_DT14_part03
Мне нужен фильтр, который выводит тольконазвание ленты и строки, которые отличаются.Таким образом, либо номер ленты меняется, либо что-то в этой конкретной части пути (весь путь намного длиннее).
"/Volumes/K00131/Backups/Testproject/20170518_DT22/Alexa_ProRes/A032R72N",K00131,".cardmeta.xml"
Все сценарии фильтра, которые я нашел до сих пор, всегда выбрасывают «не хашущиеся» ошибки.
В конце все должно выглядеть так:
K00130 20170504_DT12
K00130 20170505_DT13
K00130 20170508_DT14
K00130 20170508_DT14_part02
K00130 20170511_DT17
K00130 20170508_DT14_part03
K00130 20170508_DT14_Masterfiles
K00131 20170508_DT14_part03
Я немного застрял: /
С наилучшими пожеланиями