Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将生成sh1的bash代码转换为python代码,以执行相同的操作_Python_Bash - Fatal编程技术网

将生成sh1的bash代码转换为python代码,以执行相同的操作

将生成sh1的bash代码转换为python代码,以执行相同的操作,python,bash,Python,Bash,我使用以下代码通过bash生成sh1 gen_sh1="api_format=$api_format&api_key=$api_key&api_nonce=$api_nonce&api_timestamp=$api_timestamp&custom.videoId="$customvideoId"&description=$description&downloadurl=$sourceurl&duration=$duration&s

我使用以下代码通过bash生成sh1

gen_sh1="api_format=$api_format&api_key=$api_key&api_nonce=$api_nonce&api_timestamp=$api_timestamp&custom.videoId="$customvideoId"&description=$description&downloadurl=$sourceurl&duration=$duration&sourceformat=$sourceformat&sourcetype=$sourcetype&sourceurl=$sourceurl&title="$description"GKxS7otlAsujiRxXHTvshUE9"
然后

为了抓住价值

在python中,使用我传递的参数生成相同的sh1并捕获值的等效方法是什么


请建议

只需导入Python附带的hashlib模块,并执行以下操作:

import hashlib


# Assuming all arguments to format have been defined above...
gen_sh1 = "api_format={}&api_key={}&api_nonce={}&api_timestamp={}&custom.videoId={}&description={}&downloadurl={}&duration={}&sourceformat={}&sourcetype={}&sourceurl={}&title={}GKxS7otlAsujiRxXHTvshUE9".format(
    api_format,
    api_key, 
    api_nonce,
    api_timestamp,
    customvideoId,
    description,
    sourceurl,
    duration,
    source_format,
    sourcetype,
    sourceurl, 
    description) 

api_signature = hashlib.sha1(gen_sh1).hexdigest()

print api_signature

只需导入Python附带的hashlib模块,并执行如下操作:

import hashlib


# Assuming all arguments to format have been defined above...
gen_sh1 = "api_format={}&api_key={}&api_nonce={}&api_timestamp={}&custom.videoId={}&description={}&downloadurl={}&duration={}&sourceformat={}&sourcetype={}&sourceurl={}&title={}GKxS7otlAsujiRxXHTvshUE9".format(
    api_format,
    api_key, 
    api_nonce,
    api_timestamp,
    customvideoId,
    description,
    sourceurl,
    duration,
    source_format,
    sourcetype,
    sourceurl, 
    description) 

api_signature = hashlib.sha1(gen_sh1).hexdigest()

print api_signature

gen_sh1=“api_format=“+api_format+”&api_key=“+api_key+”&api_nonce=“+api_nonce+”&api_timestamp=“+api_timestamp+”&custom.videoId=“+customvideoId+”&description=“+description+”&downloadurl=“+sourceurl+”&duration=“+duration”&sourceformat=“+sourceformat+”&sourcetype=“+sourceurl+”&sourcetype=“+sourceurl+”“&title=“+description+”GKxS7otlAsujiRxXHTvshUE9”我修改了它并开始获取TypeError:无法连接'str'和'int'对象所有参数都是混合数字/文本和ursl,因此我开始获取TypeError:无法连接'str'和'int'对象,在str()中包含其他类型……例如,如果尝试连接”api_format=“+44+”&api_key”您将得到类型错误。然后只需执行“api_format=“+str(44)+”&api_key即可“一切都很好。当然,除了硬编码的44,您可以在该位置使用一个整数变量(没问题;-)。编辑从切普纳到我的答案现在,可能会帮助你整理事情!我最初以为除了customvideoId和descriptiongen_sh1=“api_format=“+api_format+”&api_key=“+api_key+”&api_nonce=“+api_nonce+”&api_timestamp=“+api_timestamp+”&custom.videoId=“+customvideoId+”&description=“+description+”&downloadurl=“+sourceurl+”&duration=“+sourceurl+”&duration=“+duration=”“&sourceformat=“+sourceformat+”&sourcetype=“+sourcetype+”&sourceurl=“+sourceurl+”&title=“+description+”GKxS7otlAsujiRxXHTvshUE9”“我修改了它并开始获取TypeError:无法连接'str'和'int'对象我的参数是混合数字/文本和ursl,因此我开始获取TypeError:无法连接'str'和'int'对象,它们包含str()中的其他类型…”。。。例如,如果您尝试连接“api_format=“+44+”&api_key”,您将得到TypeError。然后您只需执行“api_format=“+str(44)+”&api_key”,一切都很好。当然,除了硬编码的44,您可以在该位置使用一个整数变量(没问题;-)。编辑从切普纳到我的答案现在,可能会帮助你整理事情!我最初以为除了自定义视频ID和描述之外,你还有所有硬编码的东西