web.py 直接使用示例代码,web.application报错, 'module' object has no attribute 'application',问题原因分析

本文详细介绍了在使用web.py时遇到的导入错误问题,即文件名与第三方模块重名导致的问题解决过程。通过分析错误原因,提出避免文件名冲突和正确导入第三方模块的方法,帮助开发者在Python项目中顺利使用web.py。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import web

urls = (
    '/', 'index'
)

class index:
    def GET(self):
        return "Hello, world!"

if __name__ == "__main__":
    app = web.application(urls, globals())
    app.run()


刚刚学习webpy,兴致勃勃的复制了以上代码到 web.py文件中。双击web.py,屏幕一闪而过


然后使用IDLE打开web.py代码,按F5运行报错'module' object has no attribute 'application'


在命令行运行就不报错,思来想去找不到原因,这是重命名web.py为test.py,上次web.pyc,再次运行就没有问题。


问题的原因是,python的import会优先从当前目录import,而非优先查找site-packages,导致import了自己web.py,就出现了以上错误。



通过以上经历,总结:

1、文件命名,最好不要和第三方重复且要有时间含义

2、遇到问题,需要认真分析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值