./xx.py:line 1:import:未找到命令

 秦子萱135709 发布于 2023-01-19 11:28

我正在尝试使用此Python urllib2 Basic Auth Problem代码来从需要身份验证的URL下载网页内容.我正在尝试的代码是:

 import urllib2, base64

request = urllib2.Request("http://api.foursquare.com/v1/user")
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)   
result = urllib2.urlopen(request)

它告诉我:

./xx.py: line 1: import: command not found
./xx.py: line 3: syntax error near unexpected token `('
./xx.py: line 3: `request = urllib2.Request("http://api.foursquare.com/v1/user")'

我想知道我做错了什么?我在用Python 2.7.5.如何从需要身份验证的URL下载文件内容?

3 个回答
  • 当您在第一次导入时看到“导入:找不到命令”时,是由于解析器未使用与py文件匹配的字符编码引起的。尤其是当您在py文件中不使用ASCII编码时。

    正确处理此问题的方法是在py文件顶部指定正确的编码,以匹配文件字符编码。

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    import os
    

    2023-01-19 11:30 回答
  • 您使用的是基于UNIX的操作系统,例如Linux吗?如果是这样,请在脚本的顶部添加一个shebang行:

    #!/usr/bin/python
    

    在其下面你将拥有你已经拥有的其余代码(xx.py在你的情况下).然后在终端运行相同的命令:

    $ python xx.py
    

    这应该可以正常工作,因为它现在将其解释为Python代码.然而,当从终端运行时,这无关紧要,因为python告诉如何在这里解释它.它允许你做的是在终端外执行它,即从文件浏览器执行它.

    2023-01-19 11:31 回答
  • 这不是第一步与身份验证相关的问题.你import不行.所以,尝试在第一行写这个:

    #!/usr/bin/python
    

    并暂时使用

    python xx.py
    

    对你来说这是一个解释:

    >>> abc = "Hei Buddy"
    >>> print "%s" %abc
    Hei Buddy
    >>> 
    
    >>> print "%s" %xyz
    
    Traceback (most recent call last):
      File "<pyshell#6>", line 1, in <module>
        print "%s" %xyz
    NameError: name 'xyz' is not defined
    

    首先,我初始化了abc变量,它工作正常.另一方面,xyz不起作用,因为它没有初始化!

    2023-01-19 11:31 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有