用python写一个电子书管理器
时间: 2024-05-16 20:13:32 浏览: 113
python编写的图书管理系统
5星 · 资源好评率100%
好的,下面是一个简单的电子书管理器的Python代码示例:
```python
import os
class Ebook:
def __init__(self, title, author, format, path):
self.title = title
self.author = author
self.format = format
self.path = path
class EbookManager:
def __init__(self, path):
self.path = path
self.ebooks = []
def scan(self):
for file in os.listdir(self.path):
if file.endswith('.pdf') or file.endswith('.epub'):
title, author = os.path.splitext(file)[0].split(' - ')
format = os.path.splitext(file)[1].replace('.', '')
path = os.path.join(self.path, file)
ebook = Ebook(title, author, format, path)
self.ebooks.append(ebook)
def list(self):
for i, ebook in enumerate(self.ebooks):
print(f'{i+1}. {ebook.title} by {ebook.author}')
def open(self, index):
os.system(f'start {self.ebooks[index-1].path}')
manager = EbookManager('path/to/ebooks')
manager.scan()
while True:
print('Ebook Manager\n')
print('1. List ebooks')
print('2. Open ebook')
print('3. Exit\n')
choice = input('Enter your choice: ')
if choice == '1':
manager.list()
elif choice == '2':
index = int(input('Enter ebook index: '))
manager.open(index)
elif choice == '3':
break
else:
print('Invalid choice')
```
这个代码示例定义了两个类:Ebook和EbookManager。Ebook类表示一个电子书,其中包含标题、作者、格式和路径等信息。EbookManager类表示电子书的管理器,其中包含一个扫描方法,用于扫描指定路径下的所有电子书。它还包含一个列表方法,用于列出所有电子书,并且包含一个打开方法,用于打开指定的电子书。
在代码的主循环中,我们使用了一个简单的命令行界面,用于让用户选择要执行的操作。如果用户选择列表电子书,则调用EbookManager类的列表方法,如果选择打开电子书,则调用EbookManager类的打开方法。如果用户选择退出,则跳出循环,程序结束。
请注意,该代码示例仅支持PDF和EPUB格式的电子书。如果需要支持其他格式的电子书,需要相应地修改代码。
阅读全文