创建文本文件:IOError:[Errno 21]是一个目录:' /Users/muitprogram/PycharmProjects/untitled/HR/train.txt'

时间:2016-07-11 14:24:25

标签: python python-2.7 file filepath

我正在尝试编写以创建和写入文本文件。但是,错误

Traceback (most recent call last):
  File "/Users/muitprogram/PycharmProjects/untitled/histogramSet.py",  line 207, in <module>
      drinktrainfile = open(abs_file_path, "w")
 IOError: [Errno 21] Is a directory: '/Users/muitprogram/PycharmProjects/untitled/HR/train.txt'

出现了。 Stack Overflow中还有其他实例,但是,这些都不涉及创建和编写新文件。但是所有目录都存在 - 只创建文件执行此操作的代码是:

import os

script_path = os.path.abspath(__file__)  # i.e. /path/to/dir/foobar.py
script_dir = os.path.split(script_path)[0]  # i.e. /path/to/dir/
rel_path = str(j) + "/train.txt" # HR/train.txt
abs_file_path = os.path.join(script_dir, rel_path) #/path/to/dir/HR/train.txt
drinktrainfile = open(abs_file_path, "w")

编辑:train.txt显示,除了作为目录。如何将其设为文本文件?

1 个答案:

答案 0 :(得分:0)

资源实际上是一个目录。这很可能是一个错误,因为有人不可能通过该名称创建目录。首先,删除该目录,然后尝试创建并打开该文件。

您可以使用open('/Users/muitprogram/PycharmProjects/untitled/HR/train.txt', 'w')打开文件,假设该文件尚不存在。