每次遇到错误时都运行以下代码:
“OSError:[Errno 9]错误的文件描述符”
在f.flush()和f.close()行。注释掉f.flush()和f.close()行似乎可以修复此错误,但我仍然不明白为什么会出现问题。在
import numpy as np
#import math
import os
import matplotlib.pyplot as plt
import networkx as nex
def creator(self): #Creating an Adjaceny Matrix From Given CSV
print("AdjacenyList\%s" %(self.string))
if(os.path.isdir("AdjacenyList\%s" %(self.string))==False):
os.mkdir("AdjacenyList\%s" %(self.string))
os.chdir("AdjacenyList\%s" %(self.string))
f=open("%s_AdjList.txt" %(self.string), 'w')
for i in range(0, len(self.foodweb)):
m=0
f.write("%d" %(i))
for j in self.foodweb[i,:]:
if j>0:
f.write(" %d" %(m))
m+=1
f.write("\n")
f.flush()
f.close()
另外,当我在“rb”模式下打开另一个文件(在同一个脚本中)并在读取后刷新并关闭它时,没有问题。任何帮助都将不胜感激。在
^{pr2}$
这只是对junior_software答案的补充
始终使用上下文管理器进行文件处理。它只是在打开和关闭静态内存的数据流方面更安全。在
尝试打开完整路径
您缺少\请尝试
f = open("\%s_AdjList.txt" % (self.string), 'w')
你能把
"AdjacenyList\%s" %(self.string)
和开放目录"\%s_AdjList.txt" % (self.string)
提取到变量并打印出来吗?并验证它们是否相同?(不包括文件名)?在相关问题 更多 >
编程相关推荐