Довольно новичок здесь. У меня есть скрипт командной строки, который отлично работает для того, что я делаю, и я хочу переместить его в графический интерфейс.
os.chdir(ImageDirST)
for f in sorted(os.listdir(ImageDirST)):
f_name,f_ext = (os.path.splitext(f))
f_sku = (f_name.split(' ')[0])
f_num = (f_name[-2:])
n_name = ('{}_{}{}'.format(f_sku,f_num,f_ext))
print(f, "-->", n_name)
Я бы хотел, чтобы это отображалось таким же образом в окне сообщений в tkinter. .
С некоторой помощью отсюда мне удалось распечатать имена файлов в каталоге при нажатии кнопки:
filenames = sorted(os.listdir(ImageDirBT))
text = "\n".join(filenames)
print_filename_test.set(text)
Я попытался использовать свой код разделения для настройки спискато, как будут выглядеть новые имена файлов перед установкой переменной, со следующим, где print_filenames () - это функция, вызываемая нажатием кнопки.
def print_filenames():
filenames = sorted(os.listdir(ImageDirBT))
for filenames in sorted(os.listdir(ImageDirBT)):
f_name,f_ext = (os.path.splitext(filenames))
f_sku = (f_name.split('_')[0])
f_num = (f_name[-2:])
n_name = ('{}_{}{}'.format(f_sku,f_num,f_ext))
newlist = "\n".join(n_name)
print_filename_test.set(newlist)
Я не получаю никаких ошибокс этим кодом для print_filenames (), однако то, что отображается на панели сообщений, является последним именем файла в списке, по вертикали, шириной в один символ: например:
F
I
L
E
_
1
1
.
e
x
t
Я хотел бы отобразить вывод в виде:
oldfilename_01.ext --> newfilename_csvdata_01.ext
oldfilename_02.ext --> newfilename_csvdata_02.ext
oldfilename_03.ext --> newfilename_csvdata_03.ext
oldfilename_04.ext --> newfilename_csvdata_04.ext
Написанная мною программа командной строки использует цифры, чтобы выбрать пункты меню для того, что необходимо сделать, подтвердить перед тем, как будет выполнено любое переименование, и, следовательно, распечатать файл nСравнениеМоя борьба состоит в том, чтобы манипулировать строками в списке, чтобы иметь возможность делать то же самое.