Python Paramiko SFTP Open File начинается с N-строки - PullRequest
0 голосов
/ 17 июня 2019

Поскольку мой файл на сервере огромен, я и экономлю время на загрузку файла с сервера, поэтому я использую paramiko sftp.open(file) для чтения файла на сервере.

Существуют ли способы, с помощью которых мы можем начать чтение файла с любой строки файла, используя sftp.open(file) или другие?


Так я раньше читал файл из локальной директории

# open the file and start reading from the nth line
for line in itertools.islice(file, no_line, None):
    print(line)

Вот так я читаю файл с сервера

ssh = paramiko.SSHClient()
ssh.connect(host, port, username, password)
readfile = ssh.open_sftp()
file = readfile.open(os.path.join(path, file))
for line in file:
    print(line)

1 Ответ

1 голос
/ 17 июня 2019

В SFTP нет API, который позволял бы переходить к N-й строке.

Вы можете начать чтение с N-го байта, используя SFTPFile.seek метод :

file = readfile.open(os.path.join(path, file))
file.seek(offset)
for line in file:
    print(line)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...