Я запускаю скрипт Python из терминала Ubuntu 18.04 в экземпляре Amazon AWS EC2.Сценарий открывает текстовый файл, обрабатывает текст и сохраняет обработанный текст в другом файле.У меня установлено все необходимое программное обеспечение, и доступ к сценарию выполняется правильно, пока не возникнет ошибка: интерпретатор не распознает путь к файлу, хотя я могу перейти к этому файлу и открыть его с помощью vim.
Я пробовал различные формулировки пути со скобками в обоих направлениях, а также с начальным тильдой '~' и без него.В настоящее время я использую пакет 'os' в Python3 с командой 'os.path.join ()', которая теоретически должна автоматически формулировать путь совместимым с системой способом, но все равно появляется та же ошибка.
Вот скрипт с путем к файлу.
# -*- coding: utf-8 -*-
import os
import io
import pandas as pd
import numpy as np
num_batches = 537
for i in range(1, num_batches + 1):
in_f = os.path.join('~','home', 'ubuntu', 'compounds', 'intermed-batches', 'output_{0}.txt'.format(str(i)))
out_f = os.path.join('~','home', 'ubuntu', 'compounds', 'done-batches', 'done_batch_{0}.txt'.format(str(i)))
print("Processing batch {0}...".format(str(i)))
with io.open(in_f, 'r', encoding='utf8') as infile, \
io.open(out_f, 'w', encoding='utf8') as outfile:
entries = [line.rstrip().split('\t') for line in infile]
Ошибка происходит в строке «with io.open ...» и говорит:
Processing batch 1...
Traceback (most recent call last):
File "freq-consolidator-aws.py", line 17, in <module>
with io.open(in_f, 'r', encoding='utf8') as infile, \
FileNotFoundError: [Errno 2] No such file or directory: '~/home/ubuntu/compounds/intermed-batches/output_1.txt'