Найдите имя файла, используя python

У меня есть файл следующего формата в файле filename.txt.

h:\abc\abc_Foldhr_1\hhhhhhhhhh8db

h:\abc\abc_Foldhr_1\hhhhhhhhhh8dc

h:\abc\abc_Foldhr_1\hhhhhhhhhh8dx

h:\abc\abc_Foldhr_1\hhhhhhhhhh8du

h:\abc\abc_Foldhr_1\hhhhhhhhhh8d4

h:\abc\abc_Foldhr_1\hhhhhhhhhh8d5

h:\abc\abc_Foldhr_1\hhhhhhhhhh8d6

h:\abc\abc_Foldhr_1\hhhhhhhhhh8d7

h:\abc\abc_Foldhr_1\hhhhhhhhhh8d8

Я смог хорошо его прочитать, но не смог сохранить в фрейме данных pandas, списке или словаре.

import pandas as pd

#data = pd.read_excel ('/home/home/Documents/pythontestfiles/HON-Lib.xlsx')
data = pd.read_table('/home/home/Documents/pythontestfiles/filename.txt', delim_whitespace=True, names=('A'))
df = pd.DataFrame(data, columns= ['A'])
print(df)

и хотел бы указать имя файла только как

hhhhhhhhhh8db

.

.

.

hhhhhhhhhh8d6

hhhhhhhhhh8d7

hhhhhhhhhh8d8

цель хранения в любом фрейме данных или словаре - сравнить результат с файлом excel.

Ищите split()

DirtyBit 20.04.2019 19:48
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
2
1
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Использование split():

res = []
with open('filename.txt', 'r') as file:
      content = file.readlines()
      for line in content:
            # print(line.split('\\')[-1])    # to print each name
            res.append(line.split('\\')[-1]) # append the name to the list
print(res)

РЕДАКТИРОВАТЬ:

Разрабатывая данный ответ, метод split(), применяемый к строке, разбивает ее на \\. Рассмотрим следующий пример:

s = 'h:\abc\abc_Foldhr_1\hhhhhhhhhh8db'

print(s.split('\\'))  

Что дает вывод:

['h:\x07bc\x07bc_Foldhr_1', 'hhhhhhhhhh8db']

Индекс [-1] захватывает последний элемент в нем, поэтому:

print(s.split('\\')[-1]) 

Даст:

hhhhhhhhhh8db

я не уверен с использованием -1. Пожалуйста, поделитесь своими мыслями.

user3256224 20.04.2019 21:05

@user3256224 user3256224 функция split() в основном разбивает строку на \\ и создает ее список. [-1] захватывает последний элемент в списке, т.е. hhhhhhhhhh8db

DirtyBit 20.04.2019 21:07

@user3256224 user3256224 также добавил редактирование с объяснением.

DirtyBit 20.04.2019 21:11

Другие вопросы по теме