关于网友提出的“ head first python 第七章遇到的问题”问题疑问,本网通过在网上对“ head first python 第七章遇到的问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: head first python 第七章遇到的问题
描述:python版本:python 3.3.5
错误:Traceback (most recent call last):
File "E:\HeadFirstPython\webapp\webapp\cgi-bin\generate_list.py", line 9, in
print(yate.include_header("Coach Kelly's List of Athletes"))
File "E:\HeadFirstPython\webapp\webapp\cgi-bin\yate.py", line 8, in include_header
with open('templates/header.html') as headf:
IOError: [Errno 2] No such file or directory: 'templates/header.html'
尝试解决:这个yate的模板已安装在本地,导入时没有问题,并且我试着把模板文件夹放在yate.py同目录下,还改为绝对路径,仍然报这个错误,不知是版本问题,还是win10的问题,请解答。谢谢
解决方案1: 楼主,我也正在学head first python,在第7章的例子中遇到的问题和你一样。主要还是文件的路径问题,说一下最终的解决办法。
1、按照书中的要求组织好webapp文件夹和各个文件,各个文件严格放在各自的文件夹中,最好从书的支持网站下载整个文件夹(http://python.itcarlow.ie/resources.html)
2、yate.py中关于header.html和foot.html的路径均改为绝对路径,比如'C:/1/webapp/templates/header.html',注意两头的单引号。
3、按照书中在simple_httpd.py所在文件夹打开终端窗口,或者先打开终端窗口,再切换到simple_httpd.py所在的目录(windows中),再运行simple_httpd.py,打开8080端口。
4、打开浏览器,应该就可以看到结果了。
这里面的关键是路径问题,所有的py文件必须放在cgi-bin文件夹中,此时各个文件的import命令不存在问题,但是打开其他文件就需要明确绝对路径。同时文件必须放在cgi-bin文件夹中,才会在服务器中执行并返回结果,如果将py文件放在其他文件夹中,只会返回py文件的内容或者一片空白。
解决方案2: 路径问题,yate.py 不要安装,直接放在和templete并列的目录下,即可import,athlete_list 也一样,放在一块,glob的时候也主要路径
解决方案3: 楼主 我更正下我上面的回答,我修改了yate文件后,generate_list.py可以正常运行生成网页源代码,但是在localhost:8080中 页面不能显示,yate撤销修改后,在本地服务器就能正常运行了 我现在还没搞清楚为什么。。。有点想不通