cuốn sách gpt4 ai đã làm

python - Phân tích cú pháp, tìm các chương và viết chúng thành các tệp riêng biệt

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 20:11:17 25 4
mua khóa gpt4 Nike

Tôi gặp khó khăn khi lấy mã chính xác để phân tích các chương trong cuốn sách điện tử này và sau đó in 27 chương đó ra tệp văn bản của riêng chúng. Điều xa nhất tôi nhận được là in "CHAPTER-1.txt". Tôi không muốn mã hóa bất cứ thứ gì và không chắc mình hoàn toàn thiếu dấu ở đâu.

infile = open('dracula.txt', 'r')

readlines = infile.readlines()

toc_list = readlines[74:185]

toc_text_lines = []
cho dòng trong toc_list:
nếu len(dòng) > 1:
bị tước_line = line.strip()
toc_text_lines.append(stripped_line)

#print(len(toc_text_lines))

tiêu đề chương = []
cho text_lines trong toc_text_lines:
Split_text_line = text_lines.split()
nếu chia_text_line[-1].isdigit():
chaptitles.append(text_lines)

#print(len(chương))
in(tiêu đề)

infile.close()

import re

với open('dracula.txt') là f:
sách = f.readlines()



trong khi cuốn sách:
dòng = book.pop(0)
nếu "CHAPTER" trong dòng và book.pop(0) == '\n':
cho tiêu đề trong chương_names_list: ['CHƯƠNG I.', 'CHƯƠNG II.',
'CHƯƠNG III.']
với open("{}.txt".format(chapters_names_list), 'w') :

câu trả lời hay nhất

Tôi nghĩ bạn có thể hưởng lợi từ một trình tạo, giả sử một trong những cuốn sách điện tử quá lớn để có thể nhét vào bộ nhớ, bạn sẽ gặp một số vấn đề.

Những gì bạn có thể làm là xây dựng một số loại quy trình xử lý dữ liệu để trước tiên tìm tệp (ebook.txt) trong hệ thống tệp, nhưng hãy nhớ rằng khi đã có tên tệp, chúng tôi sẽ mở nó và tạo từng dòng một và cuối cùng chúng tôi quét từng dòng để tìm "CHƯƠNG I.", "CHƯƠNG II.", v.v.

hệ điều hành nhập khẩu
import re
nhập fnmatch

def find_files(mẫu, đường dẫn):
"""
Tại đây bạn có thể tìm thấy tất cả tên tệp khớp với một mẫu cụ thể
sử dụng mẫu ký tự đại diện shell để tránh mã hóa cứng
mẫu tệp tức là 'dracula.txt'
"""
cho root, thư mục, tập tin trong os.walk(path):
cho tên trong fnmatch.filter(tệp, mẫu):
mang lại os.path.join(root, name)

def file_opener(tên tập tin):
"""
Mở một chuỗi tên tệp cùng một lúc
và đảm bảo đóng tệp sau khi chúng tôi hoàn tất
quét nội dung của nó.
"""
cho tên tệp trong tên tệp:
nếu tên tệp.endswith('.txt'):
f = open(tên tệp, 'rt')
năng suất f
f.close()

def chain_generators(iterators):
"""
Xâu chuỗi một chuỗi các vòng lặp lại với nhau
"""
cho nó trong các vòng lặp:
# Tra cứu lợi nhuận nếu bạn không chắc chắn nó làm gì
mang lại lợi nhuận từ nó

def grep(mẫu, dòng):
"""
Tìm mẫu trong một dòng, ví dụ 'CHƯƠNG I.'
"""
pat = re.compile(mẫu)
cho dòng trong dòng:
nếu pat.search(dòng):
dòng năng suất

# Cách đơn giản để sử dụng các chức năng này cùng nhau

logs = find_files('dracula*', 'Path/to/files')
tập tin = file_opener(log)
dòng = chain_generators(file)
each_line = grep('CHƯƠNG I.', dòng)
để khớp trong each_line:
in (khớp)

Bạn có thể xây dựng dựa trên những triển khai này để thực hiện những gì bạn muốn làm.

Xin vui lòng cho tôi biết nếu điều này giúp ích.

Về python - phân tích cú pháp, tìm các chương và viết chúng thành các tệp riêng biệt, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/58703465/

25 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress