【问题标题】:how to save data via export in python program?如何在python程序中通过导出保存数据?
【发布时间】:2019-08-14 15:32:40
【问题描述】:

我想自动执行一项特定任务,并且我有一个 bash 文件,我想通过运行脚本从用户参数中读取数据

bash my_script.sh /etc/??? path/dst

到目前为止,我通过访问位置参数($1$2)和变量来获取脚本中的数据,这很好。

但在脚本内部,我想运行一个 python 程序。所以...

python test.py arg1 arg2 arg3

问题是,我必须通过 python 读取数据并访问 my_script.sh 中的输出

有一个约束,我不应该在系统上创建文件。所以我想知道是否使用export,但是导出是易变的,因为它存储变量直到该进程打开,当我回到my_script.sh时,没有任何关于该数据的线索,我也无权编写我的变量,它是~/.bashrc 上的数据。

另外,我已经阅读了 thisthis,但它们并没有按照我想要的方式工作。

如果你认为我的做法是错误的,请告诉我。

【问题讨论】:

  • 不清楚你在问什么。您的脚本可以在写入标准输出时捕获或解析test.py 的输出。
  • 我想在脚本中运行的python应用程序不依赖于script。同样在script 中,我想访问我在python 应用程序中处理的数据,正如我所说export 可以为我保存任何数据,但是在执行的python 应用程序行之后无法访问,我的意思是在其余部分我无法访问导出变量的脚本。我可以解析标准输出吗?怎么样?
  • output=$(python test.py arg1 arg2 arg3),然后用$output 做你想做的事。 export 只将信息从父进程传递给子进程,而不是另一个方向。

标签: python linux python-3.x bash


【解决方案1】:

感谢@chepners 的评论,解决方案是使用$() 而不是使用export

正如在 cmets 中提到的那样:

export 只将信息从父进程传递到子进程,而不是另一个方向。

因此,从脚本中的其他应用程序获取输出的正确方法之一如下:

output=$(python test.py arg1 arg2 arg3)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-22
    • 2020-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-19
    相关资源
    最近更新 更多