0

我有 2 个函数用于从文件中读取数据并将其放入字典。

def read_input():
  f = open(r"D:\data.txt","r")
  g = {}
  for ln in f.readlines():
  ...g = ...
  f.close()
  return g

与第二个功能几乎相同:

def reverse():
  f = open(r"D:\data.txt","r")
  g = {}
  for ln in f.readlines():
  ....
  f.close()
  return g

之后我有这样的代码:

g = read_input()
g_rev = reverse() 

适用于小型g& g_rev(用于小型输入文件)。之后我需要进行深度递归,所以我添加了这些行并包含了read_inputreversemain1

if __name__=="__main__":
  sys.setrecursionlimit(100000)
  threading.stack_size(67108864*3)    
  thread = threading.Thread(target=main1)
  thread.start()
  thread.join(0) 

仍然可以正常工作g...但是对于大输入文件我得到了这样的错误:

g = reverse()
 TypeError: 'NoneType' object is not callable. 

如果我交换read_input()reverse()调用reverse()它通过,但是对于read_input

4

1 回答 1

0

read_input() 或 reverse() 可能有错误。
场景 1
执行 return g 时,g 已经是 NoneType
场景 2
函数存在缺陷,阻止它们到达 return g 语句。

无论哪种方式,要真正帮助您,我们都需要您的更多代码,尤其是函数部分。

于 2012-04-22T12:27:26.343 回答