在Python Google App Engine中导入自定义包

0 投票
2 回答
966 浏览
提问于 2025-04-16 11:06

大家好,我在网上找不到解决我问题的方法,希望这个解决方案很简单。之前我的gae项目是一个平坦的文件系统,没有文件夹。我在重构一些代码时,尝试把一些文件放到一个文件夹里。我还是个新手,从来没有做过这样的事情,但网上没有任何信息表明我不能轻松地把文件移动到文件夹里。我在文件夹里添加了一个__init__.py文件,并从我的主程序中导入了文件夹的名字。然而,当我尝试访问其中一个文件里的某个函数时,它报错了,提示AttributeError: 'module' object has no attribute 'site1_ripper'

这是我的文件结构:

main.py
SiteCrawlers\
    __init__.py
    site1_ripper.py

以下是文件中的重要部分:

main.py

import SiteCrawlers
class Updater(webapp.RequestHandler):
    def get(self):
        SiteCrawlers.site1_ripper.siteCrawler()

site1_ripper.py

def siteCrawler()
    #stuff here

2 个回答

0

在你的主文件中试试:

from SiteCrawlers.site1_ripper import siteCrawler

class Updater(webapp.RequestHandler):
    def get(self):
        siteCrawler()
3

我觉得问题在于你需要明确地导入site1_ripper,除非它在__init__.py文件中已经被指定了。你可以这样来导入:

import SiteCrawlers.site1_ripper

撰写回答