python - 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)
解决方案
如果您的 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] 是文件名后面的第一个参数。
推荐阅读
- python - Python嵌套函数变量范围:字典与整数?(Leetcode 662 DFS 解决方案)
- django - 动态更改 db_table
- powershell - PowerShell Graph-API 退出代码
- ios - 获取 UserDefaults 不会返回任何内容
- powershell - Powershell 正在复制文件夹的内容,但忽略了复制文件夹
- unit-testing - 如何在 Azure DevOps 管道中对基于硬件的许可代码进行单元测试?
- x86 - 编写一个玩具编译器 - 调用是段错误的
- javascript - 在javascript中获取div内部的值
- java - 是否可以在 SoapUI 中发布并稍后获取帖子正文?
- python - 参考线和折线的连续点之间的正交距离