首页 > 解决方案 > Shell脚本在目录中找到文件,如何传递给python脚本

问题描述

我有一个 shell 脚本,它查看目录并返回最新的 CVS 文件;然后我想将此文件传递给 python 脚本。

我对 UNIX 不是很熟悉,我是否应该在我的 shell 脚本中为文件使用参数,我将如何处理它?

这是外壳代码:

file = ls -t | $path-n 2 | head -n1 

在蟒蛇中:

import pandas as pd
data = pd.read_excel(file, sep='delimiter',skiprows = 3, header=None, names = colnames)

标签: pythonunix

解决方案


如果您的 python 文件名为 test.py,它应该如下所示:

import sys
import pandas as pd

data = pd.read_excel(sys.argv[1], sep='delimiter',skiprows = 3, header=None, names = colnames)

然后该命令将./test.py $file在 shell 脚本中。

sys.argv[0] 是 python 文件名(ex test.py),sys.argv[1] 是文件名后面的第一个参数。


推荐阅读