奇怪的Python错误 - I/O错误 没有这样的文件或目录

-1 投票
4 回答
3962 浏览
提问于 2025-04-16 07:50

我想打开Python的命令行,然后运行下面的代码:

>>> a=open("Andrew_Smith_(author/education_professional)_0",'w')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory: 
'Andrew_Smith_(author/education_professional)_0'

我不太明白为什么会出现这个错误。我知道这个文件里有特殊字符,但我要求它创建一个新文件。

补充:

我不能用“-”,因为有些名字可能会包含“-”。我也不想用空格。还有其他的替代方案吗?

4 个回答

1

我觉得这里有两个问题。首先是因为'/'这个字符。它无法区分文件名中的'/'(这在文件名中是不合法的)和作为路径分隔符的'/'。其次,我也认为'('和')'在路径名称中是不合法的。

2

因为你的文件名里有一个 / 字符。一般来说,*NIX系统和Windows系统都不允许这样做。

3

正如其他人所说,问题出在这个 / 上,它在寻找一个叫 Andrew_Smith_(author 的文件夹,以便在里面创建一个新的文件 education_professional)_0

bash-3.2# mkdir "Andrew_Smith_(author"
bash-3.2# python
>>> a=open("Andrew_Smith_(author/education_professional)_0", 'w')
>>> 

撰写回答