lintcode-2106 · 创建文件目录并写入 Hello World!

268 阅读1分钟

描述

请编写 Python 代码,在可能没有文件目录的情况下,导入 os 库并创建一个文件目录,将 'Hello World!' 写入新创建的文件当中。

请在 write_hello_world.py 文件中编写相关的 Python 代码,以实现创建一个新的文件目录,并将 'Hello World!' 写入其中。

**

注意创建初始路径为空

样例

评测机会通过执行命令 python write_hello_world.py {path} 来执行你的代码,并将 path 作为命令行参数传入,你可以在 write_hello_world.py 中了解代码是如何运行的。

样例一

当输入文件路径为:

/output/non_exist_dir/1.txt

输出数据为:

Hello World!

样例二

当输入文件路径为:

/output/1.txt

输出数据为:

Hello World!

样例三

当输入文件路径为:

/output/non_exist_dir/sub/1.txt

输出数据为:

Hello World!

题解

首先根据题意我们可以看到:输入的是一个完整的路径。但是这个路径中有没有这个文件是不知道的。 python中,可以根据文件完整目录获取到路径的方法是os.path.dirname, 得到了这个路径,我们需要再去判断这个路径是不是真实的存在着。python中可以通过os.path.exists来判断路径是否存在。 如果存在的话,我们直接往文件里面写(文件不存在会默认创建)。 如果文件路径不存在就需要手动创建,然后写数据。

import os

s = "Hello World!"

def write_to_file(path):
        file = os.path.dirname(path)
        if os.path.exists(file):
            with open(path, 'w') as f: 
                f.write(s)
        else:
            os.mkdir(file)
            with open(path, 'w') as f:
                f.write(s)