python - 从python中的命令行中提取“>”后的文件名
问题描述
如何从 python 的命令行中提取符号“>”后的文件名。例如:
python func.py -f file1.txt -c > output.txt
我想从上面的命令行获取输出文件名'output.txt'。
谢谢
解决方案
你不能。
当你在 shell 中编写类似的东西command > file
时,shell:
- 创建
file
如果它不存在, - 打开它,然后
- 将描述符分配给 的标准输出
command
。
被调用的进程(不管是 Python 还是其他东西都没有关系)不知道数据在写入后会发生什么,因为它只看到shell 提供的描述符。这有点像一根很长的管道的一端:你知道你可以把东西放进去,但你看不到另一端会发生什么。
如果要在该调用中检索文件名,则需要:
- 将其作为参数传递给您的 Python 程序并处理来自 Python 的重定向,例如
python func.py -f file1.txt -c output.txt
,或 - 从外壳输出它,例如
echo 'output.txt'; python func.py -f file1.txt -c > output.txt
推荐阅读
- c# - OverlapSphere 居中不正确
- asp.net - 检查cookie是否具有特定值以防止重复
- twitter-bootstrap - 如何打破手机中的引导表?
- node.js - Node.js - 如何检查 Node.js 中是否存在 Unix 域套接字?
- java - 当包含活动未打开时,我的 firebase addvalueeventlistener 被操作
- jquery - 我可以从图库上传,但从相机上传会出现错误 500
- maven - maven收集依赖失败
- mongodb - MongoDB - 使用聚合将双精度转换为字符串
- bash - 如何找到深度最小的目录?
- spring - 如何使用 JdbcTemplate 在 Spring 中简洁地调用 PL/SQL 过程并返回其输出变量?