Этот сценарий уже давно работал (я использую его впервые), поэтому я считаю, что команда в Linux в чем-то неверна, хотя я проверял это много раз.
команда должна иметь следующую структуру:
python python_script_path.py -ccdb db_file.db -csvNameResolution input_csv_file.csv -csvManual another_input.csv -csvOut output_file.csv
Скрипт python
# imports
parser = argparse.ArgumentParser(description='usage:')
parser.add_argument('-ccdb','--ccdb', help='input: file to read from',required=True)
parser.add_argument('-csvNameResolution','--csvNameResolution',help='input: csv file - the output of the name resolution script', required=True)
parser.add_argument('-csvManual','--csvManual',help='input: csv file - manually prepared', required=True)
parser.add_argument('-csvOut','--csvOut',help='output: csv file which is the merge of the 2 inputs plus data queried', required=True)
args = parser.parse_args()
myEncoding = 'utf-8'
sys.stdout = open(sys.stdout.fileno(), mode='w', encoding=myEncoding, buffering=1) # That's wehre the error occurs.
Сообщение об ошибке:
Traceback (последний вызов последним): файл «python_script_path.py», строка 39, в sys.stdout = open (sys.stdout.fileno (), mode = 'w', encoding = myEncoding, buffering = 1) TypeError: file () принимает не более 3 аргументов (задано 4)
Я не понимаю, в чем проблема этого сообщения. Я рассмотрел проблемы с аналогичным сообщением об ошибке, но эта ошибка возникает в различных несоответствующих сценариях ios.
Спасибо!