【发布时间】:2020-09-10 17:41:52
【问题描述】:
我正在使用一个 Python 脚本,它从 shell 脚本接收变量以通过 API 调用传输数据,第三个变量是提交消息。但是,当我尝试使用它时,它只打印字符串的第一个单词并在下一个空格处停止。示例:
"Testing this out" 变为 "Testing"。
我想把整个东西都传送出去。它是从作为第三个参数的 shell 脚本传输的,并以 "3=Testing this out" 的形式出现。我有代码当前删除了 3= 部分,但发生了上述问题。
这是我目前所拥有的:
shell 脚本 $1、2 和 3 是一个名为 appworx 的程序在用户输入提示时所采用的提示:
python3 /RPS_files/script_deployment/Official_Gitlab.py $1 $2 $3
python代码:
import requests
import string
import json
import sys
from pathlib import Path
url = "hidden for privacy purposes"
headers = {
"PRIVATE-TOKEN": "hidden for privacy purposes",
"Content-Type": "application/json"
}
author = sys.argv[1]
author = author.replace("1=","")
filename = "/RPS_files/script_deployment_nz/" + sys.argv[2]
filename = filename.replace("2=","")
commit = sys.argv[3]
commit = commit.replace("3=","")
content = Path(filename).read_text()
sql_substring = ".sql"
loader_substring = ".ctl"
shell_substring = ".sh"
if sql_substring in filename:
file_path = "New Testing Folder/NZ SQL Folder" + filename
elif loader_substring in filename:
file_path = "New Testing Folder/NZ Loader Scripts Folder" + filename
elif shell_substring in filename:
file_path = "New Testing Folder/NZ Shell Scripts" + filename
payload = {
"id": "9081",
"branch" : "master",
"author_name": author,
"author_email" : "N/A",
"committer_name": author,
"committer_email" : "N/A",
"commit_message": commit,
"actions": [
{
"action":"create",
"file_path": file_path,
"content": content
}
]
}
verify='/RPS_files/script_deployment/cacert.pem'
response = requests.post(url, headers=headers, data=json.dumps(payload), verify=verify)
pretty_json = json.loads(response.text)
print(json.dumps(pretty_json, indent=2))
【问题讨论】:
-
引用你的论点。
标签: python python-3.x linux bash shell