#0. 在当前文件夹内创建自己的文件夹,命名方式为:学号_姓名, import os #os.getcwd() #获取当前工作目录,即当前程序文件所在的文件夹 #os.mkdir(path) 创建文件夹 #1. 在 “学号_姓名” 文件夹创建五个子文件夹: 1_诗词, 2_图片,3_视频,4_备份,5_其它 import os #2. 在上面 “学号_姓名” 文件夹创建100个子件夹:000,001,002,......099. #3. 将 “学号_姓名” 文件夹中前50个文件夹:000,001,002,......049删除. #删除文件夹 os.removedirs(path) #4. 将 "5_其它" 更名为 "5_myblcu" import os
时间: 2024-02-24 21:57:43 浏览: 84
解决python os.mkdir创建目录失败的问题
好的,让我们来一一解决你的问题。
首先是第 0 个问题,我们可以使用 `os.mkdir()` 函数来创建一个文件夹,如下所示:
```python
import os
# 获取当前工作目录
cwd = os.getcwd()
# 定义文件夹名称
folder_name = "学号_姓名"
# 创建文件夹
os.mkdir(os.path.join(cwd, folder_name))
```
其中,`os.path.join()` 函数可以将多个路径拼接成一个完整的路径。
接下来是第 1 个问题,我们需要在 “学号_姓名” 文件夹下创建五个子文件夹,同样使用 `os.mkdir()` 函数:
```python
# 创建五个子文件夹
sub_folders = ["1_诗词", "2_图片", "3_视频", "4_备份", "5_其它"]
for sub_folder in sub_folders:
os.mkdir(os.path.join(cwd, folder_name, sub_folder))
```
第 2 个问题需要在上面 “学号_姓名” 文件夹中创建 100 个子文件夹,我们可以使用循环来实现:
```python
# 创建 100 个子文件夹
for i in range(100):
sub_folder_name = "{:03d}".format(i)
os.mkdir(os.path.join(cwd, folder_name, sub_folder_name))
```
第 3 个问题需要删除前 50 个子文件夹,可以使用 `os.removedirs()` 函数来删除文件夹:
```python
# 删除前 50 个子文件夹
for i in range(50):
sub_folder_name = "{:03d}".format(i)
os.removedirs(os.path.join(cwd, folder_name, sub_folder_name))
```
注意,这里使用的是 `os.removedirs()` 函数,该函数可以删除含有多层子文件夹的文件夹。
第 4 个问题需要将 “5_其它” 更名为 “5_myblcu”,可以使用 `os.rename()` 函数来重命名文件夹:
```python
# 将 "5_其它" 更名为 "5_myblcu"
old_folder_name = "5_其它"
new_folder_name = "5_myblcu"
os.rename(os.path.join(cwd, folder_name, old_folder_name), os.path.join(cwd, folder_name, new_folder_name))
```
好的,以上是前四个问题的解决方案,接下来我们来解决第 5 个问题。
需要在当前工作目录中创建多级目录,我们可以使用 `os.makedirs()` 函数来创建多级目录:
```python
# 创建多级目录
chapters = ["第1章", "第2章", "第3章", "第4章", "第5章", "第6章", "第7章", "第8章"]
for chapter in chapters:
os.makedirs(os.path.join(cwd, folder_name, "python", chapter))
```
第 6 个问题需要将 “5_myblcu” 中所有文件和文件夹压缩为 “blcu.zip” 文件,并保存在 “5_myblcu/zip/” 中。我们可以使用 `shutil.make_archive()` 函数来实现:
```python
import shutil
# 压缩 "5_myblcu" 文件夹到 "5_myblcu/zip/" 中
shutil.make_archive(os.path.join(cwd, folder_name, "5_myblcu/zip/blcu"), "zip", os.path.join(cwd, folder_name, "5_myblcu"))
```
第 7 个问题需要将 “学号_姓名” 文件夹中前 50 个文件夹移动到 “4_备份” 文件夹中,可以使用 `shutil.move()` 函数来移动文件夹:
```python
# 将前 50 个文件夹移动到 "4_备份" 文件夹中
for i in range(50):
sub_folder_name = "{:03d}".format(i)
shutil.move(os.path.join(cwd, folder_name, sub_folder_name), os.path.join(cwd, folder_name, "4_备份"))
```
最后一个问题需要将 “4_备份” 文件夹复制到 “5_myblcu” 中,可以使用 `shutil.copytree()` 函数来复制文件夹:
```python
# 将 "4_备份" 文件夹复制到 "5_myblcu" 中
shutil.copytree(os.path.join(cwd, folder_name, "4_备份"), os.path.join(cwd, folder_name, "5_myblcu/备份"))
```
这样,所有问题的解决方案就完成了。
阅读全文