在我看来,如果没有该行,文件运行相同.
更新:基于Lee的评论我决定将我的代码压缩成一个非常简单的脚本并从命令行运行它:
import urllib2
import sys
username = sys.argv[1]
password = sys.argv[2]
url = sys.argv[3]
print("calling %s with %s:%s\n" % (url, username, password))
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, url, username, password)
urllib2.install_opener(urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman)))
req = urllib2.Request(url)
f = urllib2.urlopen(req)
data = f.read()
print(data)
Run Code Online (Sandbox Code Playgroud)
不幸的是它仍然不会生成Authorization标题(每Wireshark):(
我在通过urllib2发送基本AUTH时遇到问题.我看了一下这篇文章,并按照这个例子.我的代码:
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, "api.foursquare.com", username, password)
urllib2.install_opener(urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman)))
req = urllib2.Request("http://api.foursquare.com/v1/user")
f = urllib2.urlopen(req)
data = f.read()
Run Code Online (Sandbox Code Playgroud)
我通过wireshark在Wire上看到以下内容:
GET /v1/user HTTP/1.1
Host: api.foursquare.com
Connection: close
Accept-Encoding: gzip
User-Agent: Python-urllib/2.5
Run Code Online (Sandbox Code Playgroud)
您可以看到未通过curl发送请求时发送授权: curl -u user:password http://api.foursquare.com/v1/user …
如何使用我自己的命令行名称运行python脚本,如'myscript'而不必在终端中执行'python myscript.py'?
我正在使用模块中的input函数fileinput来接受脚本pipes或input file这是最小脚本:
finput.py
import fileinput
with fileinput.input() as f:
for line in f:
print(line)
Run Code Online (Sandbox Code Playgroud)
使这个脚本可执行后,我运行ls | ./finput.py并获取unexpected error message
./finput.py: line 1: import: command not found
./finput.py: line 3: syntax error near unexpected token `('
./finput.py: line 3: `with fileinput.input() as f:'
Run Code Online (Sandbox Code Playgroud)
我找到的唯一修复是在#!/usr/bin/env/python3import语句之前添加的时候.
但是这个问题似乎只与fileinput模块有关.由于以下脚本运行良好,没有shebang:
fruit.py
import random
fruits = ["mango", "ananas", "apple"]
print(random.choice(fruits))
Run Code Online (Sandbox Code Playgroud)
现在我错过了什么?为什么不能import,因为该命令可以找到shebang不是必需的finput.py?
我有这个代码myname.py:
# myname.py
def get_name():
return "Jim"
Run Code Online (Sandbox Code Playgroud)
这在hello.py:
# hello.py
import myname
name = myname.get_name()
print("hello {}".format(name))
Run Code Online (Sandbox Code Playgroud)
当我尝试hello.py在 MINGW64 shell 中执行时,会发生以下错误:
b2b@DESKTOP-5QEK604 MINGW64 ~/Desktop/Python moje projekty/Dev/apiarena_django/git (master)
$ ./hello.py
./hello.py: line 2: import: command not found
./hello.py: line 4: syntax error near unexpected token `('
./hello.py: line 4: `name = m.get_name()'
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
我是一个初学者,没有太多的编码知识。我正在尝试运行以下python脚本... https://github.com/Sdocquir/moneyonbots/blob/master/shopify3/shopify3.py
这样做时,我收到以下消息
/Users/xxx/Downloads/moneyonbots-master/shopify3/shopify3.py: line 1: __author__: command not found
/Users/xxx/Downloads/moneyonbots-master/shopify3/shopify3.py: line 3: import: command not found
/Users/xxx/Downloads/moneyonbots-master/shopify3/shopify3.py: line 4: import: command not found
/Users/xxx/Downloads/moneyonbots-master/shopify3/shopify3.py: line 5: import: command not found
/Users/xxx/Downloads/moneyonbots-master/shopify3/shopify3.py: line 6: import: command not found
/Users/xxx/Downloads/moneyonbots-master/shopify3/shopify3.py: line 7: import: command not found
/Users/xxx/Downloads/moneyonbots-master/shopify3/shopify3.py: line 8: import: command not found
from: can't read /var/mail/lxml
from: can't read /var/mail/selenium
from: can't read /var/mail/requests.adapters
/Users/xxx/Downloads/moneyonbots-master/shopify3/shopify3.py: line 15: syntax error near unexpected token `('
/Users/xxx/Downloads/moneyonbots-master/shopify3/shopify3.py: line 15: modes = [('Gift Card', …Run Code Online (Sandbox Code Playgroud)