操作系统未导入python类方法
我在将操作系统导入到我想要使用的类方法时遇到一些问题 main.py:操作系统未导入python类方法,python,class,Python,Class,我在将操作系统导入到我想要使用的类方法时遇到一些问题 main.py: import os import datadir import dataops d1 = datadir.datadir(dirtoscan) uniques = d1.FindPrefixes(dirtoscan) Materials = d1.SortPhotodiodeData(uniques) dat1 = dataops.dataops(Materials) rawdata = dat1.BigDictToArra
import os
import datadir
import dataops
d1 = datadir.datadir(dirtoscan)
uniques = d1.FindPrefixes(dirtoscan)
Materials = d1.SortPhotodiodeData(uniques)
dat1 = dataops.dataops(Materials)
rawdata = dat1.BigDictToArray(Materials)
dataops.py:
import os
class dataops:
def __init__(self,name):
self.name = name
def BigDictToArray(self,Materials):
self.tardir = os.getcwd()
当我尝试在Windows7上运行时,出现了一个错误我是新手,对不起
C:\Python27\dataops.pyc in BigDictToArray(self, Materials)
43 rawdata.append({name[0]:matdata})
44 return rawdata
---> 45
46 def BigDictToArray(self,Materials):
47 self.tardir = os.getcwd()
NameError: global name 'os' is not defined
为什么我不能将操作系统模块导入到dataops中?在datadir类中调用os没有问题。dataops和datadir都存储在C:\Python27中,如果这有什么区别的话。错误列表中显示的BigDictToArray方法的代码与dataop.py模块中的代码不同。还有您还导入的模块datadir.py中有什么?同样奇怪的是,dataop.py模块中有类datadir的定义…代码和错误消息不一致。很抱歉,在手动复制代码时出现了错误。BigDictToArray在dataops中。Datadir是一个模块,它对目录进行排序,并根据它对应的样本存储数据。感谢您的评论和回复!你是对的,对此表示抱歉,并感谢你的耐心,刚刚完成复制,两者都应该阅读self.tardir。正常情况下,回溯不引用.pyc文件。尝试删除C:\Python27\dataops.pyc文件。它有可能(尽管不太可能)覆盖最新dataops.py模块的内容。您还可以尝试将导入操作系统添加为def Bigdict ToArraySelf之后的第一行,Materials:。这应该没有必要,但它可能会解决您遇到的非常奇怪的问题。