帮我写一个python程序,该程序遍历当前工作目录下的data文件夹,将所有文件占用磁盘空间大小打印出来
时间: 2024-05-14 08:15:10 浏览: 85
以下是一个Python 3程序,可以遍历当前工作目录下的"data"文件夹,并将所有文件占用的磁盘空间大小打印出来:
```python
import os
# 获取当前工作目录
current_dir = os.getcwd()
# 创建data文件夹的完整路径
data_dir = os.path.join(current_dir, "data")
# 遍历data文件夹中的所有文件
for filename in os.listdir(data_dir):
# 创建文件的完整路径
file_path = os.path.join(data_dir, filename)
# 如果是文件而不是文件夹
if os.path.isfile(file_path):
# 打印文件名和文件占用的磁盘空间大小
print(filename, os.path.getsize(file_path))
```
请确保在运行此程序之前,已经创建了"data"文件夹,并在其中放置了一些文件。请注意,如果您的文件夹中有子文件夹,程序将不会遍历它们。如果您需要遍历所有子文件夹,可以使用递归函数来实现。
相关问题
python将map数据存放到excel时出现 # data_map = { 'A1': 'apple', 'B1': 'orange', 'C1': 'banana'}# 创建一个工作簿workbook = Workbook()# 获取默认的工作表worksheet = workbook.active# 遍历map数据,将数据写入工作表中
如果你想将一个map数据存储到Excel中,你可以使用openpyxl库中的Workbook和Worksheet类。下面是一个示例代码,演示如何将一个map数据写入到Excel中:
```python
from openpyxl import Workbook
# 定义数据
data_map = {
'A1': 'apple',
'B1': 'orange',
'C1': 'banana'
}
# 创建一个工作簿
workbook = Workbook()
# 获取默认的工作表
worksheet = workbook.active
# 遍历map数据,将数据写入工作表中
for key, value in data_map.items():
worksheet[key] = value
# 保存工作簿
workbook.save('data.xlsx')
```
在这个示例代码中,我们首先定义了一个map数据,其中键是单元格的地址,值是要写入单元格的数据。接着,我们创建了一个新的工作簿并获取了默认的工作表。然后,我们遍历map数据,将每个键值对写入到工作表的相应单元格中。最后,我们保存了工作簿到本地磁盘上的一个Excel文件中。
你可以根据自己的需要修改这个示例代码,例如更改数据、写入不同的工作表、更改文件名等。
写程序可以自动读取每个子目录下的图片,每读一张图片生成一个列表 [图片x,标签],这里标签为图片所在目录的名字,如:0,1,2,3,... 将每次生成的列表作为一个元素加入总图片列表,最终把该总列表存入磁盘文件中。
可以使用Python中的os和PIL库来实现这个功能。具体实现步骤如下:
1. 使用os库遍历每个子目录,获取图片文件的路径。
2. 使用PIL库打开每个图片文件,获取图片数据和标签。
3. 将图片数据和标签组成一个元组,加入到一个列表中。
4. 遍历完所有图片后,将该列表加入到总图片列表中。
5. 将总图片列表存入磁盘文件中,可以使用pickle库来实现。
下面是示例代码:
```python
import os
from PIL import Image
import pickle
# 遍历目录,获取所有图片文件的路径
def get_image_paths(root_dir):
image_paths = []
for dirpath, dirnames, filenames in os.walk(root_dir):
for filename in filenames:
if filename.endswith('.jpg') or filename.endswith('.png'):
image_path = os.path.join(dirpath, filename)
image_paths.append(image_path)
return image_paths
# 读取图片数据和标签
def read_image(image_path):
with Image.open(image_path) as img:
image_data = img.tobytes()
label = os.path.basename(os.path.dirname(image_path))
return (image_data, label)
# 生成图片列表
def generate_image_list(root_dir):
image_list = []
image_paths = get_image_paths(root_dir)
for image_path in image_paths:
image_data, label = read_image(image_path)
image_list.append((image_data, label))
return image_list
# 存储图片列表到磁盘文件
def save_image_list(image_list, file_path):
with open(file_path, 'wb') as f:
pickle.dump(image_list, f)
# 测试代码
if __name__ == '__main__':
root_dir = 'image_dir'
image_list = generate_image_list(root_dir)
save_image_list(image_list, 'image_list.pkl')
```
其中,root_dir为图片所在的根目录,可以根据实际情况修改。运行该代码后,会在当前目录下生成一个名为image_list.pkl的文件,其中存储了所有图片的数据和标签。
阅读全文