将未压缩的文件提供给命令行参数
feed uncompressed file to command line argument
假设我有一个 gzip 文件,但我的脚本只接受一个未压缩的文件。
在不修改脚本以接收压缩文件的情况下,我可以使用 bash 即时解压缩文件吗?
例如:
python ../scripts/myscript.py --in (gunzip compressed_file.txt.gz)
您可以使用进程替换,只要 Python 脚本不尝试在文件中向后查找:
python ../scripts/myscript.py --in <(gunzip compressed_file.txt.gz)
Python 接收文件名作为参数;该名称只是指的不是磁盘上的简单文件。只能以只读模式打开,尝试使用seek
方法会失败。
如果您使用 zsh
而不是 bash
,您可以使用
python ../scripts/myscript.py --in =(gunzip compressed_file.txt.gz)
和 Python 将收到一个可以像任何其他文件一样使用的实际(临时)文件的名称。不过,python
退出后,shell 会删除该文件。
假设我有一个 gzip 文件,但我的脚本只接受一个未压缩的文件。
在不修改脚本以接收压缩文件的情况下,我可以使用 bash 即时解压缩文件吗?
例如:
python ../scripts/myscript.py --in (gunzip compressed_file.txt.gz)
您可以使用进程替换,只要 Python 脚本不尝试在文件中向后查找:
python ../scripts/myscript.py --in <(gunzip compressed_file.txt.gz)
Python 接收文件名作为参数;该名称只是指的不是磁盘上的简单文件。只能以只读模式打开,尝试使用seek
方法会失败。
如果您使用 zsh
而不是 bash
,您可以使用
python ../scripts/myscript.py --in =(gunzip compressed_file.txt.gz)
和 Python 将收到一个可以像任何其他文件一样使用的实际(临时)文件的名称。不过,python
退出后,shell 会删除该文件。