首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将由list组成的变量作为参数传递给另一个python脚本

如何将由list组成的变量作为参数传递给另一个python脚本
EN

Stack Overflow用户
提问于 2019-11-29 05:39:15
回答 1查看 1K关注 0票数 1

我使用下面的脚本将一个列表变量传递给另一个python脚本。这里,我将a作为列表变量传递。

脚本test.py:

代码语言:javascript
复制
import sys,os

a=[1,2,3,4,5]
os.system(f"python test2.py '{a}' ")

下面的脚本将接收变量并尝试打印传递给test2.py的内容

脚本test2.py:

代码语言:javascript
复制
import sys

print("inside test4.py")
received_list=sys.argv
print(received_list)
print(sys.argv[0])
print(sys.argv[1])

我试图获取完整的列表,但是我只得到了像这个'[1,这样的第一个元素

实际输出:

代码语言:javascript
复制
inside test2.py
['test2.py', "'[1,", '2,', '3,', '4,', "5]'"]
test2.py
'[1,

预期输出:

代码语言:javascript
复制
inside test2.py
['test2.py', '[1,2,3,4,5]']
test2.py
[1,2,3,4,5]

如果我显式地传递列表而不是变量即os.system(f'python test4.py "[1,2,3,4,5]"'),我就能够得到预期的输出

如何通过传递变量来实现这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-29 05:45:33

test.py

代码语言:javascript
复制
import sys,os
a=[1,2,3,4,5]
os.system("python test4.py "+",".join(map(str,a)))

test4.py

代码语言:javascript
复制
import sys, ast

print("inside test4.py")
received_list=sys.argv
print(received_list)
print(sys.argv[0])
print(list(ast.literal_eval(sys.argv[1])))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59099266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档