如何去除Django dumpdata输出开头的.env加载提示信息?
解决pipenv导出Django数据时混入提示信息的问题
以下几种方法可以解决这个问题:
用pipenv安静模式抑制提示:给
pipenv run加上--quiet(或短参数-q),直接让pipenv不输出加载.env的提示信息,从源头避免混入JSON:docker-compose exec django pipenv run --quiet python manage.py dumpdata --indent 2 > fixtures/test_dumpdata.json或者用短参数简化:
docker-compose exec django pipenv run -q python manage.py dumpdata --indent 2 > fixtures/test_dumpdata.json重定向错误输出:如果这个提示是输出到标准错误流(stderr),可以把stderr重定向到/dev/null(Linux/macOS)或NUL(Windows),只保留标准输出的JSON内容:
# Linux/macOS环境 docker-compose exec django pipenv run python manage.py dumpdata --indent 2 > fixtures/test_dumpdata.json 2>/dev/null # Windows PowerShell环境 docker-compose exec django pipenv run python manage.py dumpdata --indent 2 > fixtures/test_dumpdata.json 2>NUL过滤输出内容:如果前两种方法无效,可以用
sed过滤掉开头的提示行(默认提示在输出第一行):docker-compose exec django pipenv run python manage.py dumpdata --indent 2 | sed '1d' > fixtures/test_dumpdata.json
内容的提问来源于stack exchange,提问作者Keso
相关产品推荐
相关产品推荐

