Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python SFTP问题_Python_Sftp_Pysftp - Fatal编程技术网

Python SFTP问题

Python SFTP问题,python,sftp,pysftp,Python,Sftp,Pysftp,我编写了一个程序,可以查看一个文本文件,并将文件中的错误导出到另一个txt文件。然后程序通过sftp进入linux主机,并将文件传输到特定位置。但是,运行此程序时出现错误: import os import sys import csv import pysftp with open('c:/Python27/log_07032014_1512.txt','r') as inf, open('C:/Python27/Errors.txt','w')as outf: r

我编写了一个程序,可以查看一个文本文件,并将文件中的错误导出到另一个txt文件。然后程序通过sftp进入linux主机,并将文件传输到特定位置。但是,运行此程序时出现错误:

import os
import sys
import csv
import pysftp 

with open('c:/Python27/log_07032014_1512.txt','r') as inf,    
    open('C:/Python27/Errors.txt','w')as outf:
    reader = csv.reader(inf)
    writer = csv.writer(outf)
    for line in inf:
        if 'Error' in line:
            print line

def sftpExample():
    try:
        s = sftp.Connection('***.***.***.***', username = '******', password = '****')
        remotepath ='/home/*****/BOA.txt'
        localpath = 'C:/Python27/Errors.txt'
        s.put(localpath,remotepath)

        s.close()
    except Exception, e:
        print str(e)

sftpExample()
当它读取并尝试传输文件时,出现以下错误:

未定义全局名称“sftp”

有人能帮忙吗

在这一行中:

s = sftp.Connection(...)
您引用了一个名为
sftp
的符号,正如错误消息所说,该符号尚未定义

请尝试以下方法:

s = pysftp.Connection(...)
您的程序中还有一些其他错误,但此修复程序应能使您克服第一个错误

参考:

  • 本页的示例如下:

另一种方式,您可以像这样更改导入行

import pysftp as sftp
...

其他错误:您创建了
csv.reader()
csv.writer()
对象,但从未使用它们。您从未在
Errors.txt
文件中放入任何数据。这非常有效,您知道为什么它没有写入我试图写入的文件吗?