argparse
- простое решение
Пример совместимости с обеими версиями Python 2 и 3:
#!/usr/bin/python
import argparse
import sys
parser = argparse.ArgumentParser()
parser.add_argument('infile',
default=sys.stdin,
type=argparse.FileType('r'),
nargs='?')
args = parser.parse_args()
data = args.infile.read()
Вы можете запустить этот скрипт разными способами:
1. Использование stdin
echo 'foo bar' | ./above-script.py
& ЕПРС; или короче, заменив echo
на здесь string :
./above-script.py <<< 'foo bar'
2. Использование аргумента имени файла
echo 'foo bar' > my-file.data
./above-script.py my-file.data
3. Использование stdin
через специальное имя файла -
echo 'foo bar' | ./above-script.py -