奇怪的Python错误 - I/O错误 没有这样的文件或目录
我想打开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')
>>>