今天的学习内容主要是在更新完善自己的写的图书管理系统;
然后在显示封面时,遇到了这样的问题
FileNotFoundError: [Errno 2] No such file or directory: 'Books\\\ufeff如何阅读一本书\\cover.jpg'
在网络上搜索了好多,看了好多教程,尝试了好多方法都没有用处
刚开始我使用os.path,join来拼接路径,发现根本没法用
我就想要不直接用字符串拼接得了,结果还是没有用
突然,我想起这两个教程:
https://blog.csdn.net/Z1065701256/article/details/103400036
另外一个教程找不到了,大致是
if path.startswith('\ufeff'):
path=path.encode('utf-8')[7:].decode('utf-8)
能不能把这两个教程结合一下呢?
binggo!
完美解决!!!撒花,累死我了,一晚上就解决了这么一个问题,自学真的是让人头大!加油!!!
def show_books():
print('图书馆现有图书如下:')
with open('Books\Books.txt', 'r', encoding='utf-8') as rstream_Books:
books_content = rstream_Books.read()
j = 0
while True:
i = books_content.find('\n', j)
if i == -1:
break
book_name = books_content[j:i]
j = i + 1
if book_name.startswith('\ufeff'):
book_name = book_name.encode('utf-8-sig')[6:].decode('utf-8')
# 解决book_cover=mpimg.imread(book_cover_path) 报错FileNotFoundError: [Errno 2] No such file or directory: 'Books\\\ufeff如何阅读一本书\\cover.jpg'
book_path = 'Books' + '\\' + book_name
book_details_path = book_path + '\details.txt'
book_cover_path = book_path + '\cover.jpg'
# from PIL import Image
# import matplotlib.pyplot as plt
# 相对路径和绝对路径都可以
book_cover = mpimg.imread(book_cover_path) # 读取图片
cover = book_cover.shape
# 设置多个figure,设置figure的标题
plt.imshow(book_cover) # 显示图片
plt.axis('off') # 不显示坐标轴
plt.show()
with open(book_details_path, 'r', encoding='utf-8') as rstream_book_details:
book_details = rstream_book_details.read()
代码附到这里,大家自行修改路径,测试一下咯
用的是pycharm