从另一个文本文件提供 SFTP 服务器凭据

giving SFTP server credentials from another text file

我在下面编写了一个 python 脚本,通过从另一个文本文件提供服务器凭据(如 IP、用户名、密码)来建立到服务器的 SFTP 连接。尽管我成功了,但我认为这不是最好的方法,请提出一些建议,以便我改进代码

文本文件格式:

127.0.0.1,jack,密码

我的代码:

import os
import pysftp
import socket
from stat import S_IMODE, S_ISDIR, S_ISREG
import time
import os.path
import shutil
import fileinput
import lock

cnopts = pysftp.CnOpts()
cnopts.hostkeys = None

f = open("text.txt", "r")

for line in f:
    words = line.split(',')
    IP=words[0]
    myUsername=words[1]
    myPassword=words[2]
    print(IP)
    print(myUsername)
    print(myPassword)

    with pysftp.Connection(host=IP, username=myUsername, password=myPassword, cnopts=cnopts) as sftp:
        print("connection successful")

由于您的文件格式类似于 csv,因此您可以使用 csv 模块。

import csv
with open("text.txt", "r") as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=',')
    for row in csv_reader:
        print(row)

row 是一个包含 ip,username,pass

的列表

Example:

文本文件:

127.0.0.1,jack,password
127.0.0.1,jack2,password2
127.0.0.1,jack3,password3

输出:

> ['127.0.0.1', 'jack', 'password']
> ['127.0.0.1', 'jack2', 'password2']
> ['127.0.0.1', 'jack3', 'password3']

注意密码字符串中可能包含 ,。 无论如何,将密码存储在文本文件中并不是一个好的解决方案。