在Python Shell或直接运行Python文件

时间:2013-11-11 14:19:56

标签: python python-3.x

我只是Python的初学者。我创建了一个名为cc.py的文件,并保存在以下路径中:

C:/Python33/cc.py

我正在尝试运行此文件但没有发生任何事情。

在python shell中我输入Python cc.py但是我收到以下错误:

SyntaxError: invalid syntax

我尝试了另一种选择:

>>> execfile('cc.py');
Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    execfile('cc.py');
NameError: name 'execfile' is not defined

该文件包含以下代码行:

 import urllib

 htmlfile = urllib.urlopen("http://google.com")

 htmltext = htmlfile.read()

 print htmltext

我该如何运行此文件?我完全糊涂了。有人可以帮助我吗?

4 个答案:

答案 0 :(得分:1)

在python 3中,execfile不再存在。您可以打开它并手动执行它:

def xfile(afile, globalz=None, localz=None):
    with open(afile, "r") as fh:
        exec(fh.read(), globalz, localz)

执行:

>>> xfile(r'C:\path\to\file\script.py')

感谢:What is an alternative to execfile in Python 3?

这就是你从解释器执行文件的方式。

另一种方法是,您可以从命令提示符执行它。只需打开它并输入:

$ cd filepath
$ python file.py

关于您正在运行的脚本,也存在混淆。无论您遵循什么示例,它都是Python 2示例,但您使用的是Python 3.将请求行更改为:

htmlfile = urllib.request.urlopen("http://google.com")

希望这有帮助!

答案 1 :(得分:1)

print htmltext应为print(htmltext)。此外,{3}已从Python 3中删除。似乎您正在使用Python 2本书但运行Python 3.这些不同版本的Python不兼容,坚持一个。要选择哪个版本,请参阅this question

execfile()

的实施
execfile()

答案 2 :(得分:1)

您写道:

  

在python shell中我输入Python cc.py但是我收到以下错误:

     

SyntaxError:语法无效

如果要运行python脚本,请不要从python shell执行此操作。 &#34; python&#34; (不是&#34; Python&#34;)命令需要从命令提示符(DOS shell,终端窗口等)运行。

在命令提示符下,您应该发出命令:

$ python cc.py

有关问题和解决方案的更完整描述,请参阅python用户指南的windows部分中的Executing Scripts,以及python用户指南的常见问题部分中的How do I run a python program under windows

答案 3 :(得分:0)

import urllib.request
with urllib.request.urlopen("http://www.yourwebsiteurl.com") as url:
     htmltext = url.read()
     print (htmltext)