Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Poddy avatar Poddy 17 Точки

Text processing, задача 3 Extract file

Здравейте,

Задачата е следната:
Write a program that reads the path to a file and subtracts the file name and its extension.
вход - C:\Internal\training-internal\Template.pptx

изход -

File name: Template

File extension: pptx

Моят код е следния:

path = input().split('.')

file = path[0]
file_name = ""
file_extension = path[1]

for char in reversed(file):
    if char.isalpha() or char.isdigit():
        file_name += char
    else:
        break

file_name = file_name[::-1]
print(f"File name: {file_name}")
print(f"File extension: {file_extension}")

 

При този код два теста на минават и получавам 60 точки. Аз не мога да видя къде е грешката, дебъгерът също. Знам че би било по-лесно да разделя по "\" , но този знак прави игнорира ковичката след него и не намерих как да го използвам без това да се случи. Затова деля по точка и въртя наобратно. Някой може ли да ми помогне с намирането на проблема?!

Тагове:
0
Python Fundamentals 20/07/2020 11:20:21
Poddy avatar Poddy 17 Точки

Намерих си грешката - в името и разширението може да има и знаци различни от букви и цифри.

Освен това се сетих и как да използвам \ за разделител. Използвам променлива, на която присвоявам chr(92) и после я слагам в split.

Оставям темата може да помогне на някой друг.

1
DavidKondov avatar DavidKondov 2 Точки

Знам, че е година по-късно, но мисля че моето решение е малко по-лесно от твоето и затова го оставям за други колеги! 

https://pastebin.com/p9BDZBy3

0
ankamar56 avatar ankamar56 8 Точки
path_str = input()
idx1 = path_str.rfind(chr(92))
idx2 = path_str.rfind('.')
file_name = path_str[idx1+1:idx2:]
file_extension = path_str[idx2+1::]
print(f"File name: {file_name}")
print(f"File extension: {file_extension}")
0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.