本关的编程任务是补全step1/step1.py中的mkDir()函数,要求实现创建子文件夹的功能。具体要求如下: 在当前文件夹step1中创建一个子文件夹dst。 python完成上述任务
时间: 2024-10-27 21:04:10 浏览: 88
为了在Python中实现创建子文件夹的功能,你需要使用os模块中的mkdir()函数。在这个例子中,你应该补全以下`mkDir()`函数:
```python
import os
def mkDir():
# 定义目标路径(当前文件夹step1下的dst子文件夹)
dst_dir = os.path.join(os.getcwd(), "step1", "dst")
# 使用os.makedirs()函数,如果目标目录不存在就创建它
try:
os.makedirs(dst_dir, exist_ok=True) # exist_ok=True表示如果路径已存在则不会报错
print(f"成功创建子文件夹 {dst_dir}")
except FileExistsError:
print(f"{dst_dir} 已经存在,无需创建")
except Exception as e:
print(f"创建子文件夹时发生错误:{str(e)}")
# 调用函数
mkDir()
```
这个函数首先计算出目标路径,然后试图创建该路径。如果目标路径已经存在,`exist_ok=True`参数会让makedirs()忽略这个错误。如果在创建过程中发生其他异常,函数会捕获并打印错误信息。
相关问题
本关的编程任务是补全右侧代码片段中Begin至End中间的代码,具体要求如下: 补全execlProcess函数,使用vfork函数创建进程,并在子进程中调用创建一个名为testDir的目录,在父进程中输出"Parent Process"字符串。
在C语言中,你可以按照以下步骤补全`execlProcess`函数的代码:
```c
#include <stdio.h>
#include <unistd.h>
#include <sys/wait.h>
void execlProcess() {
// 创建子进程
pid_t child_pid = vfork(); // 使用vfork创建进程
if (child_pid == -1) { // 如果vfork失败
perror("Error creating child process");
return;
} else if (child_pid == 0) { // 如果这是子进程
// 切换工作目录并创建目录
chdir("/path/to/testDir"); // 需要替换为实际路径
mkdir("testDir", S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH); // 创建目录,权限设置
printf("Child Process created directory testDir\n"); // 输出信息
exit(0); // 子进程结束
} else { // 父进程
printf("Parent Process\n"); // 输出"Parent Process"
wait(NULL); // 等待子进程结束
}
}
阅读全文