设计函数get_pngs_from_pic_with_binary将pic文件夹中所有*.png文件的绝对路径按utf-8编码以二进制的形式输出到imagepng.dat文件中,每个*.png文件的绝对路径占imagepng.dat文件的一行, 该函数包含两个默认值参数(图像文件夹参数、imagepng.dat的全路径)。编写函数read_png_fullpath_bybinary(), 以字符串列表的形式返回imagepng.dat文件的内容,该函数包含一个默认值参数txtpath, 调用read_png_fullpath_bybinary (),逐行打印imagepng.dat文件的内容。
时间: 2024-03-23 16:43:16 浏览: 102
好的,这是你的第一个问题,以下是对应的函数实现:
```python
import os
def get_pngs_from_pic_with_binary(pic_folder='pic', dat_file='imagepng.dat'):
with open(dat_file, 'wb') as f:
for root, dirs, files in os.walk(pic_folder):
for file in files:
if file.endswith('.png'):
path = os.path.abspath(os.path.join(root, file))
f.write(path.encode('utf-8') + b'\n')
def read_png_fullpath_bybinary(txtpath='imagepng.dat'):
with open(txtpath, 'rb') as f:
content = f.readlines()
content = [c.strip().decode('utf-8') for c in content]
return content
# 打印imagepng.dat文件的内容
def print_imagepng():
content = read_png_fullpath_bybinary()
for line in content:
print(line)
```
可以直接调用`get_pngs_from_pic_with_binary()`函数来将*.png文件的路径以二进制形式写入imagepng.dat文件中。调用`read_png_fullpath_bybinary()`函数来读取imagepng.dat文件,返回一个包含所有路径的字符串列表。最后,调用`print_imagepng()`函数来打印imagepng.dat文件的内容。
阅读全文