簡體   English   中英

在Python 2中獲取不必要的引號

[英]Getting unecessary quotation marks in Python 2

在嘗試組合2個API的整個上下文中,我需要“組合”兩個函數結果,以便使所有內容井井有條。

def descr():
    return 88
def name():
    return 'Account',descr()

當我打印name()時,得到此信息(“帳戶”,88)。 這種格式的問題是我以后無法在腳本中使用此結果。

這是整個腳本:

import requests
import json

url = "https://proxy6.net/api/xxx/getproxy"

def descr():
    return 88
def name():
    return 'Account',descr()


querystring = {"descr":descr()}

headers = {
    'Cache-Control': "no-cache",
    'Postman-Token': "xxxx"
    }

response = requests.request("GET", url, headers=headers, params=querystring)

data = response.json()
for value in data['list'].values():
    host = value['host']
    port = value['port']

url = "https://api.multiloginapp.com/v1/profile/create"

querystring = {"token":"xxx"}

payloadobj = {
    "generateZeroFingerprintsData": True,
    "name": name(),
    "OS": "MacOS",
    "platform": "MacIntel",
    "browserType": "mimic",
    "proxyHost": host,
    "proxyPort": port,
    "proxyIpValidation": False,
    "proxyType": "socks5",
    "maskFonts": True,
    "disablePlugins": True,
    "disableWebrtcPlugin": True,
    "disableFlashPlugin": True,
    "canvasDefType": "noise",
    "hardwareConcurrency": 2,
    "langHdr": "en-US,en;q=0.8",
    "timeZone": "US/Eastern",
    "audio": {
        "noise": True
    },
    "geolocation": {
        "permitType": "block"
    },
    "mediaDevices": {
        "audioInputs": 1,
        "audioOutputs": 1,
        "videoInputs": 1
    },
    "webgl": {
        "noise": True
    },
    "webRtc": {
        "type": "block"
    },
    "shared": False
}

payload = json.dumps(payloadobj)

headers = {
    'Content-Type': "application/json",
    'Cache-Control': "no-cache",
    'Postman-Token': "xxx"
    }

response = requests.request("POST", url, data=payload, headers=headers, params=querystring)

print(response.text)

我希望上面的JSON查詢中的名稱值是名稱+ descr的結果,但不適用於該返回格式。

看起來像您需要的。

def descr():
    return 88
def name():
    return '{} {}'.format('Account', descr())

print(name())

輸出:

Account 88

name()返回一個元組對象而不是字符串。 要返回一個字符串,您可以將其更改為:

def name():
    return "Account {}".format(descr())

如果您使用的是python3.6或更高版本,則可以:

def descr():
    return 88

def name():
    return f"Account {descr()}"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM