Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python以写模式打开文件IOError_Python - Fatal编程技术网

Python以写模式打开文件IOError

Python以写模式打开文件IOError,python,Python,在python中尝试使用open()创建文件时,我收到一个IOError,这似乎只针对单个文件名。目录肯定存在,权限被授予,循环成功创建了大约1000个文件。在下面的代码中,当epic=“CON”时,我收到“无此类文件或目录”错误,但对于其他值,它可以正常工作 f = open('data\\LSE\\%s.csv' % epic.strip(),'w') f.write(u.read()) f.close() 这可能是一个种族问题吗?文件创建得相当快 我是python新手,所以如果有什么明显

在python中尝试使用open()创建文件时,我收到一个IOError,这似乎只针对单个文件名。目录肯定存在,权限被授予,循环成功创建了大约1000个文件。在下面的代码中,当
epic=“CON”
时,我收到“无此类文件或目录”错误,但对于其他值,它可以正常工作

f = open('data\\LSE\\%s.csv' % epic.strip(),'w')
f.write(u.read())
f.close()
这可能是一个种族问题吗?文件创建得相当快


我是python新手,所以如果有什么明显的遗漏,请道歉

问题在于,您正在Windows上运行此代码,其中仍然包含MS-DOS 1.0的一些遗产
CON
是控制台设备的特殊名称。不能将其用作文件名。MS-DOS的最早版本不支持目录,也不支持8.3文件命名模式的所谓“扩展名”。因此,无论目录和扩展名如何,名称都是特殊的

一些参考资料:


请勿将以下保留名称用作文件名:

CON、PRN、AUX、NUL、COM1、COM2、COM3、COM4、COM5、COM6、COM7、COM8、COM9、LPT1、LPT2、LPT3、LPT4、LPT5、LPT6、LPT7、LPT8和LPT9。还要避免这些名称后面紧跟着一个扩展名;例如,不建议使用NUL.txt


什么是
打印repr(epic)
打印?'COD'。更奇怪的是,使用控制台,open('data\\LSE\\COD',w)给出了“糟糕的文件描述符”,但CAD、CO、CODD都可以正常工作。我还尝试在其他目录中测试这个,遇到了相同的行为open('data\\LSE\\COD.csv',w)或open('data\\LSE\\COD',w)?啊,对不起,COD应该是CON,这是我和Michael遇到的问题,我尝试了这两种行为(请参阅我的更正,它实际上是CON对不起),但没有提供“坏文件描述符”的文件扩展名它给出了“没有这样的文件或目录”谢谢dsh,我想我必须改变我的股票代码文件命名约定!