- 小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
描述
请编写 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)