Попробуйте использовать import sys
и прочитать переданные аргументы sys.argv
, который является списком.Переданные параметры начинаются со второго (индекс 1)
Примером является следующий.
import sys
if __name__ == "__main__":
print(type(sys.argv))
if len(sys.argv) <2:
print("Expecting file credentials")
exit(1)
f = open(sys.argv[1])
for line in f:
print(line[:len(line)-1]) #avoid printing new line char
Укажите, каким должен быть ваш файл учетных данных для извлечения полей.
РЕДАКТИРОВАТЬ : входной файл представляет собой JSON
import sys
import json
if __name__ == "__main__":
#print(type(sys.argv))
if len(sys.argv) <2:
print("Expecting file credentials")
exit(1)
f = open(sys.argv[1])
#for line in f:
# print(line[:len(line)-1]) #avoid printing new line char
###READ FROM JSON
data = f.read()
print("---------")
print(data)
content = json.loads(data)
print(content["postgres"]["host"])
print(content["postgres"]["password"])
Обратите внимание на одну вещь, которая вызывает у меня проблемы: вы можете прочитать файл один раз с помощью f.read()
.Если вы позвоните еще раз, читать нечего.