在以下一行
"AttributeError: 'NoneType' object has no attribute 'path'
我得到的追溯如下:
<module 'os' from '/usr/lib/python2.7/os.pyc'>
<module 'os' from '/usr/lib/python2.7/os.pyc'>
<module 'os' from '/usr/lib/python2.7/os.pyc'>
None
None
None
None
None
None
None
打印os:
def run_job_subtype(self):
print os
print sys.modules['os']
if os.path.exists(self.abs_export_dir):
return "incr"
else:
return "full"
突然间它被设置为无
我不认为我以编程方式设置为None ..
除了程序员之外,是否有可能将os设置为None?
或者除了手动查看数千行代码之外,还有什么方法可以调试它?
在线程
中调用此函数另一个奇怪的事情......我已将代码更改为:
print sys.modules[\'os\']
', "AttributeError: 'NoneType' object has no attribute 'modules'
回溯
class TableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
tableView.estimatedRowHeight = 44
tableView.rowHeight = UITableViewAutomaticDimension
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "TFCell", for: indexPath) as! TFCell
cell.textField.delegate = self
return cell
}
}
extension TableViewController: UITextFieldDelegate {
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
performSegue(withIdentifier: "TFSegue", sender: textField)
return false
}
}
class TFCell: UITableViewCell {
@IBOutlet weak var textField: UITextField!
}
我也在导入sys。我绝对不会为os和sys创建变量......
有什么东西在抹掉所有的进口产品?
答案 0 :(得分:0)
错误确实是错误的 - 您设置了一个名为os
的变量,因此在运行os.path.exists()
时,您尝试在字符串上运行.path
,整数,或其他一些变量。