bat根据txt文件for循环生成目录
时间: 2023-07-04 22:06:46 浏览: 90
假设要生成的目录结构如下:
```
root
├── dir1
│ ├── file1.txt
│ └── file2.txt
├── dir2
│ ├── file3.txt
│ └── file4.txt
└── dir3
├── file5.txt
└── file6.txt
```
可以使用以下的 Python 代码来生成:
```python
import os
# 目录结构
dirs = {
'dir1': ['file1.txt', 'file2.txt'],
'dir2': ['file3.txt', 'file4.txt'],
'dir3': ['file5.txt', 'file6.txt']
}
# 根目录
root_dir = 'root'
# 遍历目录结构
for dir_path, files in dirs.items():
# 创建子目录
os.makedirs(os.path.join(root_dir, dir_path), exist_ok=True)
# 创建文件
for file_name in files:
with open(os.path.join(root_dir, dir_path, file_name), 'w') as f:
f.write('This is {}.'.format(file_name))
# 生成目录
with open(os.path.join(root_dir, 'README.txt'), 'w') as f:
f.write('root\n')
for dir_path, _, files in os.walk(root_dir):
if dir_path == root_dir:
continue
# 计算相对路径
rel_path = os.path.relpath(dir_path, root_dir)
f.write('{}{}\n'.format(' ' * (len(rel_path) - len(os.path.dirname(rel_path))), os.path.basename(rel_path)))
for file_name in sorted(files):
f.write('{}{}\n'.format(' ' * (len(rel_path) - len(os.path.dirname(rel_path)) + 2), file_name))
```
其中,`dirs` 变量定义了目录结构,`root_dir` 变量定义了根目录。代码首先遍历目录结构,创建子目录和文件,然后生成目录。在生成目录时,使用 `os.walk` 遍历根目录下的所有文件和子目录,并计算相对路径,然后输出到 `README.txt` 文件中。
阅读全文