溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python辦公自動(dòng)化SFTP怎么使用

發(fā)布時(shí)間:2022-08-02 09:25:39 來(lái)源:億速云 閱讀:150 作者:iii 欄目:開發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“Python辦公自動(dòng)化SFTP怎么使用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“Python辦公自動(dòng)化SFTP怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

一、sftp和ftp的區(qū)別是什么?

sftp和ftp的區(qū)別在安全通道,使用的協(xié)議,鏈接方式,安全性等方面都有不同.

  • 1、sftp是一種安全的文件傳輸協(xié)議,一種通過(guò)網(wǎng)絡(luò)傳輸文件的安全方法。它確保使用私有和安全的數(shù)據(jù)流來(lái)安全地傳輸數(shù)據(jù)。

  • 2、ftp是文件傳輸協(xié)議。ftp 不提供任何安全通道來(lái)在主機(jī)之間傳輸文件。在網(wǎng)站上,如果你想把文件和人共享,最便捷的方式莫過(guò)于把文件上傳到ftp服務(wù)器上,其他人通過(guò)FTP客戶端程序來(lái)下載所需要的文件。

sftp和ftp不同的具體表現(xiàn):

ftp不提供任何安全通道來(lái)在主機(jī)之間傳輸文件;而sftp協(xié)議提供了一個(gè)安全通道,用于在網(wǎng)絡(luò)上的主機(jī)之間傳輸文件。ftp使用TCP / IP協(xié)議。而,sftp是SSH協(xié)議的一部分,它是一種遠(yuǎn)程登錄信息。ftp使用TCP端口21上的控制連接建立連接。而,sftp是在客戶端和服務(wù)器之間通過(guò)SSH協(xié)議(TCP端口22)建立的安全連接來(lái)傳輸文件。ftp密碼和數(shù)據(jù)以純文本格式發(fā)送,大多數(shù)情況下是不加密的,安全性不高。而,sftp會(huì)在發(fā)送之前加密數(shù)據(jù),二進(jìn)制的形式傳遞,是無(wú)法“按原樣”閱讀的,安全性較高。
具體請(qǐng)去網(wǎng)上查看

二、使用步驟

1.程序結(jié)構(gòu)

Python辦公自動(dòng)化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:\Web\HR
  LOCAL_DESDIR : D:\Web\HR\TMP
  # 郵件
  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,沒(méi)有重新定義的變量,使用config變量值
  DEBUG: True

PRODUCTION : &production
  <<: *config # 繼承config,沒(méi)有重新定義的變量,使用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'])
    # 日志設(shè)置
    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辦公自動(dòng)化SFTP怎么使用

5.email_client.py

Python辦公自動(dòng)化SFTP怎么使用

6.main.py

Python辦公自動(dòng)化SFTP怎么使用

代碼如下(示例):

if __name__ == "__main__":

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

讀到這里,這篇“Python辦公自動(dòng)化SFTP怎么使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI