1. there is current working directory in vim `:lcd` to see it and `:lcd dir` to change it 2. depending on how your python script is implemented, it might read this json file from current working directory (it is inherited by `:!`) not from your script location directory. so either change `:lcd path/to/your/python/script.py` or change your python script to read file relative to script location.