Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我的python文件可以在IDEL中运行,但不能在Eclipse中运行?_Python_Eclipse - Fatal编程技术网

为什么我的python文件可以在IDEL中运行,但不能在Eclipse中运行?

为什么我的python文件可以在IDEL中运行,但不能在Eclipse中运行?,python,eclipse,Python,Eclipse,我只是通过编程Python来学习Python,当我在Eclipse中运行本书中的一些示例时,会出现很多错误警告,我无法成功运行它们。但是当我在IDEL3中运行它们时,它们工作正常。有两个文件,一个是initdata.py,另一个是makefile.py。 以下是makefile.py'代码: dbfilename = 'people-file' ENDDB = 'enddb.' ENDREC = 'endrec.' RECSEP = '=>' def storeDbase(db, db

我只是通过编程Python来学习Python,当我在Eclipse中运行本书中的一些示例时,会出现很多错误警告,我无法成功运行它们。但是当我在IDEL3中运行它们时,它们工作正常。有两个文件,一个是initdata.py,另一个是makefile.py。 以下是makefile.py'代码:

dbfilename = 'people-file'
ENDDB  = 'enddb.'
ENDREC = 'endrec.'
RECSEP = '=>'

def storeDbase(db, dbfilename=dbfilename):
    "formatted dump of database to flat file"
    dbfile = open(dbfilename, 'w')
    for key in db:
        print(key, file=dbfile)                               
        for (name, value) in db[key].items():
            print(name + RECSEP + repr(value), file=dbfile)
        print(ENDREC, file=dbfile)
    print(ENDDB, file=dbfile)
    dbfile.close()

def loadDbase(dbfilename=dbfilename):
    "parse data to reconstruct database"
    dbfile = open(dbfilename)
    import sys
    sys.stdin = dbfile
    db = {}
    key = input()
    while key != ENDDB:
        rec = {}
        field = input()
        while field != ENDREC:
            name, value = field.split(RECSEP)
            rec[name] = eval(value)
            field = input()
        db[key] = rec
        key = input()
    return db

if __name__ == '__main__':
    from initdata import db
    storeDbase(db)
这是initdata.py的代码:

bob = {'name':'Bob Smith','age':42,'pay':30000,'job':'dev'}
sue ={'name':'Sue Jones','age':45,'pay':40000,'job':'hdw'}
tom = {'name':'Tom','age':50,'pay':0,'job':None}
db = {}
db['bob']=bob 
db['sue']=sue 
db['tom']=tom 
if __name__=='__main__':
    for key in db:
        print(key ,'=>\n',db[key])
“from initdata import db”中总是有一个错误警告,表示它是一个未格式化的import:db。
但是当我运行这两个文件时,没有任何问题。那么,我有什么问题吗?我的操作系统是Ubuntu。

initdata.py中的缩进看起来有问题

db['tom']=tom 
    if __name__=='__main__':

如果uuu name uuu…db[key])阻塞,请尝试取消整个

很抱歉将initdata.py发布错误。initdata.py没有问题。py您的
PYTHONPATH
或当前工作目录设置错误。尝试从不同的目录执行Eclipse(或者快速使用它,空闲应该足以攻击Python)。