python:设计函数get_pngs_from_pic将pic文件夹中所有*.png文件的绝对路径按cp936编码以文本的形式输出到imagepng.txt记事本中,每个*.png文件的绝对路径占imagepng.txt文件的一行,该函数包含两个默认值参数(图像文件夹参数、imagepng.txt的全路径)。编写函数get_pngs_from_bonn将bonn文件夹中*.png文件的全路径追加到imagepng.txt文件的尾部,该函数包含两个默认值参数(图像文件夹参数、imagepng.txt的全路径)。编写函数read_png_fullpath_bytext (), 以字符串列表的形式返回imagepng.txt文件的内容,该函数包含一个默认值参数txtpath, 调用read_png_fullpath_bytext (),逐行打印imagepng.txt文件的内容。
时间: 2024-02-26 09:56:57 浏览: 127
以下是函数的实现:
```python
import os
def get_pngs_from_pic(pic_folder='pic', txt_path='imagepng.txt'):
with open(txt_path, 'w', encoding='cp936') as f:
for root, dirs, files in os.walk(pic_folder):
for file in files:
if file.endswith('.png'):
png_path = os.path.join(root, file)
f.write(png_path + '\n')
def get_pngs_from_bonn(bonn_folder='bonn', txt_path='imagepng.txt'):
with open(txt_path, 'a', encoding='cp936') as f:
for root, dirs, files in os.walk(bonn_folder):
for file in files:
if file.endswith('.png'):
png_path = os.path.join(root, file)
f.write(png_path + '\n')
def read_png_fullpath_bytext(txtpath='imagepng.txt'):
with open(txtpath, 'r', encoding='cp936') as f:
content = f.read().splitlines()
return content
# 打印imagepng.txt文件的内容
for line in read_png_fullpath_bytext():
print(line)
```
这些函数的作用分别为:
- `get_pngs_from_pic`: 将 `pic` 文件夹中所有 `.png` 文件的绝对路径按照 `cp936` 编码写入到 `imagepng.txt` 文件中。
- `get_pngs_from_bonn`: 将 `bonn` 文件夹中所有 `.png` 文件的绝对路径按照 `cp936` 编码追加写入到 `imagepng.txt` 文件中。
- `read_png_fullpath_bytext`: 以字符串列表的形式返回 `imagepng.txt` 文件的内容。
注意:默认情况下,`pic` 和 `bonn` 文件夹应该与代码文件在同一目录下。如果不是,在调用函数时需要传入正确的文件夹路径。
阅读全文