当前位置: 首页 > 知识库问答 >
问题:

使用Python输出到CGI?错误总是告诉我缺少括号?

单于飞鸣
2023-03-14

尝试使用python生成CGI屏幕。然而,当我从命令行运行它时,我总是得到一个错误,指出它在“print”content-type:text/html\r\n\r\n“行上缺少括号。非常感谢任何帮助。多谢了。

#!/usr/bin/python3
import urllib.request
import json
import os

link = "https://api.nasa.gov/planetary/apod?api_key....."
resp = urllib.request.urlopen(link)
data = resp.read()
print(str(data, 'utf-8'))
returnJson = json.loads(data)
img_url = returnJson['url']
title = returnJson['title']
current_date = returnJson['date']

(filename, headers) = urllib.request.urlretrieve(img_url)
img_file_name = img_url.split('/')[-1]
os.rename(filename, img_file_name)
html = """
<center>
       <h1>Astronomy Picture of the Day</h1>
       <img src="%s">
       <p><b>%s</b></p>
</center>
""" % (img_file_name, title)
html_file_name = 'nasa_apod_%s.html' %current_date

print "Content-type:text/html\r\n\r\n" **Where it says parenthesis**
print '<html>'
print '<head>'
print '<title>Astronomy Picture of the Day</title>'
print '</head>'
print '<body>'
print '<h1>Astronomy Picture of the Day</h1>'
print '</body>'
print '</html>'

共有1个答案

史昱
2023-03-14

这是因为您使用的是Python3。在Python3中,print是一个函数,而不是一个语句。所以这意味着您需要在打印的任何内容周围添加括号。

# this will fail in Python 3
print "Content-type:text/html\r\n\r\n"

# but this will work
print("Content-type:text/html\r\n\r\n")

正如您所做,前面使用print(str(data,'UTF-8'))

 类似资料:
  • 在我正在阅读的Python书籍中,我没有得到关于章节结束问题的用户输出。 问题是: 编写一个为用户计数的程序。让用户输入开始编号、结束编号和计数的数量。 这是我想出来的: 在此输入之后,除以下情况外,不会发生任何事情:

  • python指标代码pymetrics可用于分析代码文件的复杂性。它们创建了两个不同的指标: 整个文件的COCOMO 2的SLOC度量 我想知道这些指标的数值意味着什么,而不是它们的定义。值“1”是什么意思?一个数字‘5’?一个“10”的数字?越高越好还是越低越好?什么数值指的是好代码,什么指的是真正的坏代码?上网搜了一下,给了一些提示,但我不确定分类指的是公制(1)还是公制(2)。我想让这两个数

  • 我是一个游戏玩家,他决定制作一些其他人可以玩的基本游戏。我对编码很陌生,对它有最基本的了解。我和我的表弟正在尝试用Python 3.6.0制作一个基于文本的游戏。我们在互联网上搜索了我们问题的答案,但什么也找不到。代码如下: 当试图运行模块进行测试时,我们会收到一个错误,上面写着: msgstr"调用打印时缺少括号" 由于我们对编码有如此基本的了解,并且在google上找不到答案,我们希望有人能帮

  • 问题内容: 嗨,我是Android编程的新手,我想问的问题可能很简单,但是我对如何使其工作一无所知,请多多包涵。 我从Android开发人员网站安装了android-sdk和相关工具。我按照他们的指示创建了HelloWorld应用,但出现了一些我不理解的错误。 文件MainActivity.java是一个自动生成的文件,在以下位置,我不断出现此文件错误: 因此,我尝试浏览生成的class文件中的l

  • 这是我的密码。但我不知道使用11G速递版以来的错误在哪里。它显示错误,但不显示错误在哪一行

  • 我一直试图搜集一些推特的数据,但每次运行此代码时,都会出现错误:调用“print”时缺少括号。 有人能帮我解决这个问题吗? 感谢您的时间:)