Если вы собираетесь указать, что вы хотите sys.argv [1] внутри функции, вам не понадобится какой-либо параметр. Вы можете сделать его функцией, не требующей аргументов.
import sys
def load():
with open(sys.argv[1]) as file:
# code to execute...
# code to execute...
load()
Мое предложение применимо, только если вы хотите открыть только один файл, используя один параметр командной строки (с индексом 1). Если вы хотите открыть другие, используя другие параметры командной строки, вам понадобится параметр в вашей функции, такой как 'args' (как сказал Дэвид Театер), чтобы сделать код более гибким. Параметры задаются как новые имена переменных, которые будут использоваться в рамках вашей функции. В вашем коде вы как будто пытаетесь установить sys.argv в качестве имени функции, которое не работает, потому что это уже функция.