我有一个脚本,可以将数据写入另一台服务器上的文件共享。我正在为网络共享上的单独数据集打开一个单独的文件并保存它。问题是在循环中的第5个文件之后,打开失败:
Exception has occurred: OSError[Errno 22] Invalid argument:
'\\\\file-storage\\storage\\waystar\\active\\ID-143892-Active.txt'
File "D:\AGB\test.py", line 7, in <module>
with open(fn,'w') as f:
我尝试直接映射到IP地址而不是网络共享名。我试着把它映射到服务器上的驱动器号。我创建了下面的测试代码来重现这个问题。你知道吗
import os
activedir=r'\\file-storage\storage\waystar\active'
IDs=['123457','123458','123459','143890','143891','143892']
for id in IDs:
fn=activedir+r'\ID-'+id+'-Active.txt'
with open(fn,'w') as f:
f.write("Hello World - what a bunch of crap.")
我想知道为什么它在列表的最后一个文件上失败了。前5项工作正常,并且已创建。最后一个不是,我得到如上所述的错误22。你知道吗
我添加了一个带有except子句的try块,它只是再次尝试打开文件。这在调试器中得到了一个有趣的结果。如果我在open之前在except子句中停止它并删除了以前创建的一个文件,那么它将继续创建下一个文件。所以一定有某种限制阻止我一次创建超过5个文件?你知道吗
import os
activedir=r'\\file-storage\storage\waystar\active'
IDs=['123457','123458','123459','143890','143891','143892']
for id in IDs:
fn=activedir+r'\ID-'+id+'-Active.txt'
try:
with open(fn,'w') as f:
f.write("Hello World - what a bunch of crap.")
except:
with open(fn,'w') as f:
f.write("Hello World - what a bunch of crap.")
目前没有回答
相关问题 更多 >
编程相关推荐