Помогите найти ошибку в программе

Irina_kalista

Новичок
Пользователь
Ноя 24, 2023
15
0
1
ОС Windows
Python 3.12

Код программы:

def test_file_path(file_path):
"""Путь до файла
param file_path: абсолютный путь до файла
:return: название файла без расширения, названия диска и корневую папку
"""

split_string = file_path.split("\\")
name = split_string[-1]
file_name = name.split(".")[0]
disk_name = split_string[0]
root_folder = split_string[1]

return file_name, disk_name, root_folder


Вывод программы:
First differing element 1:
'C'
'C:'

- ('python', 'C', 'Python311')
+ ('python', 'C:', 'Python311')
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 677
479
83
а у меня нормально вывело...
какой путь передаете? или это автотест где то?

ну очевидно проблема тут - disk_name = split_string[0]
напишите - disk_name = split_string[0] + ":" , чтобы автотест пройти

и код вставляйте как код, соблюдая отступы - https://itfy.org/threads/kak-ne-nado-zadavat-voprosy.3450/#post-13566
 

Irina_kalista

Новичок
Пользователь
Ноя 24, 2023
15
0
1
вот такой путь проверяется file_path=r'C:\Python311\python.exe'
Да программа для автотеста по курсу

Если добавить +, вывод такой:
- ('python', 'C', 'Python311')
+ ('python', 'C::', 'Python311')

Теперь 2 двоеточия у С, а мне наоборот от него нужно избавиться, с минусом тоже не работает

Изменила программу, теперь проблема с точкой
1700840506545.png
 
Последнее редактирование:

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 677
479
83
Теперь 2 двоеточия у С, а мне наоборот от него нужно избавиться, с минусом тоже не работает
просто не понятно было, какой ответ нужен: под плюсом или под минусом

Изменила программу, теперь проблема с точкой
вот так можно
Python:
def test_file_path(file_path):
    """Путь до файла
    param file_path: абсолютный путь до файла
    :return: название файла без расширения, названия диска и корневую папку
    """

    split_string = file_path.split("\\")
    name = split_string[-1]
    file_name = name[:name.rfind('.')]
    disk_name = file_path[0]
    root_folder = split_string[1]

    return file_name, disk_name, root_folder
 

Форум IT Специалистов