脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python办公自动化SFTP详解

Python办公自动化SFTP详解

2022-08-01 19:53panda_225400 Python

这篇文章主要介绍了Python办公自动化SFTP详解,sftp和ftp的区别在安全通道,使用的协议,链接方式,安全性等方面都有不同,更多相关内容需要的小伙伴可以参考一下

 

前言

提示:这里可以添加本文要记录的大概内容:

公司里B2B是通过WinSCP里SFTP与客户进行数据传输,WinSCP是一个Windows环境下使用SSH的开源图形化SFTP客户端,本想偷个懒拿同事的WinSCP的SFTP代码给总部传数据,同事给的代码调用WinSCP就是执行不成功,不知道WinSCP是否有新旧版本兼容,还是必须两边的操作系统都需要是Windows环境呢,最后只能硬着头皮查资料重新写了一个。

提示:以下是本篇文章正文内容,下面案例可供参考

 

一、sftp和ftp的区别是什么?

sftp和ftp的区别在安全通道,使用的协议,链接方式,安全性等方面都有不同.

  • 1、sftp是一种安全的文件传输协议,一种通过网络传输文件的安全方法。它确保使用私有和安全的数据流来安全地传输数据。
  • 2、ftp是文件传输协议。ftp 不提供任何安全通道来在主机之间传输文件。在网站上,如果你想把文件和人共享,最便捷的方式莫过于把文件上传到ftp服务器上,其他人通过FTP客户端程序来下载所需要的文件。

sftp和ftp不同的具体表现:

ftp不提供任何安全通道来在主机之间传输文件;而sftp协议提供了一个安全通道,用于在网络上的主机之间传输文件。ftp使用TCP / IP协议。而,sftp是SSH协议的一部分,它是一种远程登录信息。ftp使用TCP端口21上的控制连接建立连接。而,sftp是在客户端和服务器之间通过SSH协议(TCP端口22)建立的安全连接来传输文件。ftp密码和数据以纯文本格式发送,大多数情况下是不加密的,安全性不高。而,sftp会在发送之前加密数据,二进制的形式传递,是无法“按原样”阅读的,安全性较高。
具体请去网上查看

 

二、使用步骤

 

1.程序结构

Python办公自动化SFTP详解

 

2.配置文件

config.yaml代码如下(示例):

CONFIG: &config
  # 日志配置文件路径
  LOGGING_CONFIG_PATH: ./Configs/logging.yaml
  # 日志文件存放位置
  LOGGING_PATH: ./logs
  # SFTP
  FTP_HOST: ***.*****.com
  FTP_PORT: 22
  FTP_USER_NAME : XXXXXXXXX
  FTP_PASSWORD : XXXXXXXXX
  HOME_DIR : /
  REMOTE_PATH : /XXX/
  LOCAL_DIR : D:WebHR
  LOCAL_DESDIR : D:WebHRTMP
  # 邮件
  SMTP_SERVER : CNMAIL
  SMTP_USER_NAME : XXX@163.com
  SMTP_USER_PWD : XXX
  FROM_MAIL : isadmin@XXX.com
  TO_MAIL : XXX.zhang@XXX.com
  CC_MAIL : XXX.zhang@XXX.com


DEVELOPMENT : &development
  <<: *config # 继承config,没有重新定义的变量,使用config变量值
  DEBUG: True

PRODUCTION : &production
  <<: *config # 继承config,没有重新定义的变量,使用config变量值
  DEBUG: True

 

3.读入配置文件

代码如下(示例):

def create_app(config_name=None, config_path=None):
    app = Flask(__name__)
    # 读取配置文件
    if not config_path:
        pwd = os.getcwd()
        config_path = os.path.join(pwd, "Configs/config.yaml")
    if not config_name:
        config_name = "PRODUCTION"
    conf = read_yaml(config_name, config_path)
    app.config.update(conf)

    if not os.path.exists(app.config["LOGGING_PATH"]):
        # 日志文件目录
        os.mkdir(app.config["LOGGING_PATH"])
    # 日志设置
    with open(app.config["LOGGING_CONFIG_PATH"], "r", encoding="utf-8") as f:
        dict_conf = yaml.safe_load(f.read())
    logging.config.dictConfig(dict_conf)  # 载入日志配置

    return app

 

4.sftp_client.py

Python办公自动化SFTP详解

 

5.email_client.py

Python办公自动化SFTP详解

 

6.main.py

Python办公自动化SFTP详解

代码如下(示例):

if __name__ == "__main__":

    remotePath = "" 
    localPath = ""  
    runSFTP(remotePath, localPath)

 

总结

到此这篇关于Python办公自动化SFTP详解的文章就介绍到这了,更多相关Python SFTP内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/panda_225400/article/details/126088460

延伸 · 阅读

精彩推荐
  • Python利用 python 对目录下的文件进行过滤删除

    利用 python 对目录下的文件进行过滤删除

    这篇文章主要给大家介绍了关于如何利用 python 对目录下的文件进行过滤删除的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有...

    EasonDev10582020-12-29
  • Python2022年,教你用Python预测茅台股票涨跌

    2022年,教你用Python预测茅台股票涨跌

    本文摘自清华大学出版《深入浅出Python量化交易实战》一书的读书笔记,这里把作者用KNN模式做的交易策略,换成了逻辑回归模型,试试看策略的业绩会有...

    赚小钱钱养家糊口9832022-02-22
  • Python用Q-learning算法实现自动走迷宫机器人的方法示例

    用Q-learning算法实现自动走迷宫机器人的方法示例

    这篇文章主要介绍了用Q-learning算法实现自动走迷宫机器人的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值...

    宜信技术7902021-07-01
  • PythonPyQt5实现简易电子词典

    PyQt5实现简易电子词典

    这篇文章主要为大家详细介绍了PyQt5实现简易电子词典,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    残烛0一0照月9012021-07-21
  • PythonPython3.5内置模块之os模块、sys模块、shutil模块用法实例分析

    Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析

    这篇文章主要介绍了Python3.5内置模块之os模块、sys模块、shutil模块用法,结合实例形式分析了Python os模块、sys模块及shutil模块针对文件、路径等相关操作技巧...

    loveliuzz6592021-06-21
  • PythonPython之循环结构

    Python之循环结构

    今天小编就为大家分享一篇关于Python之循环结构,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    小茗同学。8982021-05-16
  • Pythonpython优化数据预处理方法Pandas pipe详解

    python优化数据预处理方法Pandas pipe详解

    在本文中,我们将重点讨论一个将多个预处理操作组织成单个操作的特定函数:pipe。我将通过示例方式来展示如何使用它,让我们从数据创建数据帧开始吧...

    Python学习与数据挖掘7452022-03-05
  • Python在PyCharm中实现关闭一个死循环程序的方法

    在PyCharm中实现关闭一个死循环程序的方法

    今天小编就为大家分享一篇在PyCharm中实现关闭一个死循环程序的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    一米阳光里的晴天娃娃9372021-04-23