test.py:第3行:导入:找不到命令test.py:第5行:标头:找不到命令

时间:2019-09-10 11:06:16

标签: python

我将函数从Curl重写为Python。不幸的是,我一直都收到以下错误消息:

test.py: line 3: import: command not found
test.py: line 5: headers: command not found
test.py: line 6: Content-Type:: command not found
test.py: line 7: syntax error near unexpected token `}'
test.py: line 7: `}'

我通过pip安装了请求,并且还添加了Shebang。不幸的是,我无法检测到该问题?

这是代码:

#!/usr/bin/env python
import requests

headers = {
    'Content-Type': 'application/json',
}

params = (
    ('api_key', 'xxx'),
    ('application_key', 'xxx'),
)

data = '{\n   "config":{\n      "assertions":[\n         {\n            "operator": "isInMoreThan",\n            "type": "certificate",\n            "target": 10\n         }\n      ],\n      "request":{\n        "host": "test.com",\n        "port": 443\n      }\n   },\n   "locations":[\n      "aws:eu-central-1" \n   ],\n   "message":" @test.test@test.com @test.test@test.com\\nSSL Certificate for test.test@test.com is going to expire in less than 10 days.",\n   "name":"SSL Test python on test.test@test.com",\n   "options":{\n    "min_failure_duration": 0,\n    "tick_every": 86400,\n    "min_location_failed": 1\n   },\n   "tags":[\n    "test",\n    "application:test"\n   ],\n   "type":"api",\n   "subtype": "ssl"\n}'

# response = requests.post('https://api.datadoghq.eu/api/v1/synthetics/tests', headers=headers, params=params, data=data)

response = requests.post('https://api.datadoghq.eu/api/v1/synthetics/tests?api_key=xxx&application_key=xxx', headers=headers, data=data)

1 个答案:

答案 0 :(得分:2)

@ mango5k,根据您共享的错误,我已经知道您在做什么。

生成错误是因为您试图使用bash运行python脚本。如下所示,

[root@localhost ~]# bash test.py 
test.py: line 2: import: command not found
test.py: line 4: headers: command not found
test.py: line 5: Content-Type:: command not found
test.py: line 6: syntax error near unexpected token `}'
test.py: line 6: `}'

尝试使用python执行它,如下所示,它将完美执行,

python test.py

或者您也可以尝试以下命令(仅供参考)

$ # Assign execution permissions
$ chmod +x test.py
$ # Run the script by using its filename
$ ./test.py