【问题标题】:create list for for-loop为for循环创建列表
【发布时间】:2016-10-18 10:07:12
【问题描述】:

我有一个脚本,该脚本创建了许多到 VM 的控制台链接(周围构建了一个 html 正文),以便更快地访问,控制台链接由许多字符串和变量组合在一起。

我想创建一个列表,其中包含所有创建的链接。

没关系,我已经创建了所有链接的列表,却丢失了我的脚本概览...

【问题讨论】:

  • 将其分配给控制台中的变量?或者将所有print 输出分配给Python 中的变量?明智的做法是将数据与表示分离:您的脚本可以生成list 或类似的 URL,而另一个函数可以将其格式化为 HTML。这样你就可以用任何一种方式使用数据……

标签: python


【解决方案1】:

您可能希望修改脚本以将链接存储在列表等数据结构中:

links = list()
...
# iteration happens here
link =  'https://' + host + ':' + console_port + '...'
print link
links.append(link)
# script done here; return or use links

最后,您可以返回/使用您收集的所有链接的列表。

【讨论】:

  • 我想这就是我要找的。我忘了在我的问题中提到我定义了一个遍历文件夹并创建链接的函数。
  • 我之前忘记了评论中的重要部分......然后for循环使用该函数为现有数据生成链接(我在原始问题中包含了结构
【解决方案2】:

您可以使用subprocess.check_output(),它使用参数运行命令并将其输出作为字节字符串返回。例如:

>>> import subprocess
>>> my_var = subprocess.check_output(["echo", "Hello"])
>>> my_var
'Hello\n'

如果你有一个可执行文件,比如my_script.py,它接收param1param2 作为参数。你的check_output 电话应该是这样的:

my_output = subprocess.check_output(["./my_script.py", "param1", "param2"])

根据文件:

注意: 请勿将 stderr=PIPE 与此功能一起使用,因为这可能会根据子进程错误量而死锁。当您需要标准错误管道时,请使用 Popen 和communicate() 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-04
    • 1970-01-01
    相关资源
    最近更新 更多