创建目录Python

时间:2016-05-12 18:53:34

标签: python directory

我的讲师提供了以下代码,但从命令行运行时,它无法在OS X上运行。

file_name = 'data/' + raw_input('Enter the name of your file: ') + '.txt'
fout = open(file_name, 'w')

错误讯息:

Traceback (most recent call last):
  File "write_a_poem_to_file.py", line 12, in <module>
    fout = open(file_name, 'w')
IOError: [Errno 2] No such file or directory: 'data/poem1.txt'

在我上课并做了一些研究之前,我一直在编写Python,它认为你需要导入os模块来创建一个目录。

然后,您可以指定要在该目录中创建文件。

我相信您可能还需要在访问文件之前切换到该目录。

我可能错了,我想知道我是否错过了另一个问题。

2 个答案:

答案 0 :(得分:1)

如@Morgan Thrapp在评论中所述,open()方法不会为您创建文件夹。

如果文件夹/data/已经存在,它应该可以正常工作。

否则您必须check if the folder exists,如果没有,则create the folder.

import os 

if not os.path.exists(directory):
    os.makedirs(directory)

所以..你的代码:

file_name = 'data/' + raw_input('Enter the name of your file: ') + '.txt'
fout = open(file_name, 'w')

成为这样的东西:

import os

folder = 'data/'

if not os.path.exists(folder):
    os.makedirs(folder)

filename = raw_input('Enter the name of your file: ')

file_path = folder + filename + '.txt'

fout = open(file_path, 'w')

答案 1 :(得分:0)

检查文件夹&#34;数据&#34;不存在。如果不存在,则必须创建它:

import os

file_name = 'data/' + raw_input('Enter the name of your file: ') + '.txt'
if not os.path.exists('data'):
    os.makedirs('data')
fout = open(file_name, 'w')