#python #python-3.x #pathlib
#python #python-3.x #pathlib
Вопрос:
У меня есть список файлов, из которых я хотел бы извлечь текст из каждого и поместить текст для каждого файла в отдельный список. Хотя выходные данные отображаются в виде строк, из-за чего мне сложно определить, какой текст принадлежит какому файлу.
————это список файлов:
[WindowsPath('C:/Users/xxxx/Desktop/test_folder/final test.txt'), WindowsPath('C:/Users/xxxx/Desktop/test_folder/iptest.txt'), WindowsPath('C:/Users/xxxx/Desktop/test_folder/New Text Document.txt'), WindowsPath('C:/Users/xxxx/Desktop/test_folder/test2.txt')]
————Результат, который я получаю, является:
rgerg
egfreg
secret
dafreagr 343.23.12.53.100 aefref
secret
grre
regreg
ergre
тест работает
————Я бы хотел, чтобы результат был:
[['rgerg','egfreg','secret'],
['dafreagr 343.23.12.53.100 aefref'],
['secret','grre','regreg','ergre'],
['test is working']]
————ИЛИ возможны отдельные списки:
['rgerg','egfreg','secret']
['dafreagr 343.23.12.53.100 aefref']
['secret','grre','regreg','ergre']
['test is working']
————-У меня есть функция «loader ()», которая в настоящее время извлекает текст файла:
for items in txt_files:
for item in loader(items):
words = item
print(words)
Я не смог получить желаемый результат как со списком, так и со словарем. Не уверен, как мне следует поступить с этим.
ОБНОВЛЕННЫЙ ВЫВОД:
вывод элементов:
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersXXXXDesktoptestNew Microsoft Word Document.docx
C:UsersxxxxDesktoptestsecretwe.docx
C:UsersxxxxDesktoptestsecretwe.docx
C:UsersxxxxDesktoptestsecretwe.docx
C:UsersxxxxDesktoptestsecretwe.docx
C:UsersxxxxDesktoptestsecretwe.docx
C:UsersxxxxDesktoptestsecretwe.docx
C:UsersxxxxDesktoptestsecretwe.docx
Вывод элемента:
S
e
c
r
e
t
S
e
c
r
e
t
t
h
i
s
i
s
a
t
e
s
t
d
o
c
u
m
e
n
t
f
o
r
k
e
y
w
o
r
d
s
c
a
n
s
.
T
h
i
s
i
s
a
t
e
s
t
.
S
e
c
r
e
t
s
e
c
r
e
t
Комментарии:
1. добавьте содержимое в файл в вашем вопросе
Ответ №1:
Вам нужно объявить result
список, а затем добавить к нему данные.
Пример:
result = []
for items in txt_files:
temp = []
for item in loader(items):
temp.append(item)
result.append(temp)
print(result)
Редактировать согласно комментарию
result = []
for items in txt_files:
result.append(loader(items).splitlines())
print(result)
Комментарии:
1. Спасибо. Это сработало, но теперь его вывод выглядит следующим образом:
2. [[‘S’, ‘e’, ‘c’, ‘r’, ‘e’, ‘t’, ‘n’, ‘n’, ‘n’, ‘n’, ‘n’, ‘n’, ‘S’, ‘e’, ‘c’, ‘r’, ‘e’, ‘t’, ‘ ‘ ‘, ‘t’, ‘h’, ‘i’, ‘s’, ‘ ‘, ‘i’, ‘s’, ‘ ‘, ‘a’, ‘ ‘, ‘t’, ‘e’, ‘s’, ‘t’, ‘ ‘, ‘d’, ‘o’, ‘c’, ‘u’, ‘m’, ‘e’, ‘n’, ‘t’, ‘ ‘, ‘f’, ‘o’, ‘r’, ‘ ‘, ‘k’, ‘e’, ‘y’, ‘w’, ‘o’, ‘r’, ‘d’, ‘ ‘, ‘s’, ‘c’, ‘a’, ‘n’, ‘s’ , ‘.’, ‘n’, ‘n’, ‘T’, ‘h’, ‘i’, ‘s’, ‘ ‘, ‘i’, ‘s’, ‘ ‘, ‘a’, ‘ ‘, ‘t’, ‘e’, ‘s’, ‘e’, ‘c’, ‘r’, ‘e’, ‘t’], [‘s’, ‘e’, ‘c’, ‘r’, ‘e’, ‘t’], [‘s’, ‘e’, ‘c’, ‘r’, ‘e’, ‘e ‘, ‘t’]]
3. Это вывод ‘items’. Это было слишком долго для публикации в качестве комментария. но в основном оба его файла просто повторяются для количества элементов в списках C:UsersXXXXDesktoptestNew Microsoft Word Document.docx C:UsersXXXXDesktoptestNew Microsoft Word Document.docx C:UsersXXXXDesktoptestNew Microsoft Word Document.docx C:UsersXXXXDesktoptestNew Microsoft Word Document.docx C:UsersXXXXDesktoptestNew Microsoft Word Document.docx C:UsersxxxxDesktoptestsecretwe.docx C:UsersxxxxDesktoptestsecretwe.docx C:UsersxxxxDesktoptestsecretwe.docx
4. а что касается ‘item’, то выводом была каждая буква файла в отдельной строке, прописанная вертикально. S e c r e t