【发布时间】:2014-11-12 15:34:13
【问题描述】:
在 python 脚本中,我想使用 bash 脚本中包含列表的变量。
我是这样做的: 首先,我在 bash 脚本中创建了一个列表。此外,我将列表格式更改为 python 格式,最后导出列表:
#!/bin/bash
PYTHONPATH=$(which python)
TDATES="080201 080523 080905 090116 090515 090828 091211 100416 100730 101112
110311 110701 111014 120210 120601 120914 130111 130503 130809 131213
140404 140725"
echo $TDATES > datei.txt
sed "s/ /\\', \\'/g" datei.txt | sed "s/^/[\\'/g" | sed "s/$/\\']/g" > tdates.txt
TDP=$(cat tdates.txt)
export TDP
rm tdates.txt datei.txt
# exec python script
${PYTHONPATH} plot.py
“sed”命令会将格式从“080201 080523 ...”更改为 ['080201', '080523', '...',]。在 python 脚本中,我使用以下命令导入列表:
# plot.py
import os
TDATES = os.getenv('TDP')
print TDATES
屏幕输出看起来像:['080201', '080523', '...'] 这很好,但是 如果我尝试使用
循环遍历“TDATES”for i in TDATES:
print i
我会得到的
[
'
0
8
0
2
0
1
'
,
而不是
080201
080523
...
我无法弄清楚我没有注意到什么。感谢您的帮助!
【问题讨论】:
标签: python bash list import export