python連線sftp進行檔案操作

2021-10-05 07:31:22 字數 2725 閱讀 2407

1)新增使用者

[root@docker ~]#groupadd ftpuser

[root@docker ~]#useradd -g ftpuser -s /sbin/nologin -m ftpuser

[root@docker ~]#passwd ftpuser

[root@docker ~]#cd /home &

&mkdir ftpuser

[root@docker home]#chown root:ftpuser ftpuser

[root@docker home]#chmod 755 ftpuser

[root@docker home]#mkdir sftpdata &

& chown ftpuser:ftpuser ./sftpdata

2)修改配置檔案

[root@docker ~]#vim /etc/ssh/sshd_config

#修改subsystem sftp /usr/libexec/openssh/sftp-server為以下

subsystem sftp internal

-sftp

#增加以下

match user sftp

x11forwarding no

allowtcpforwarding no

forcecommand internal

-sftp

[root@docker ~]#service sshd reload

import paramiko

transport = paramiko.transport(

("101.202.2.25",22

))# 獲取transport例項

transport.connect(username=

"ftpuser"

, password=

"123456"

)#sftp使用者

sftp = paramiko.sftpclient.from_transport(transport)

import paramiko

transport = paramiko.transport(

("101.202.2.25",22

))# 獲取transport例項

transport.connect(username=

"ftpuser"

, password=

"123456"

)#sftp使用者

sftp = paramiko.sftpclient.from_transport(transport)

sftp.get(remotepath=

"1.zip"

, localpath=

"c:/users/10854/pycharmprojects/untitled/1.zip"

)

import os

import zipfile

defunzip_file

(zip_src, dst_dir)

: r = zipfile.is_zipfile(zip_src)

if r:

fz = zipfile.zipfile(zip_src,

'r')

forfile

in fz.namelist():

fz.extract(

file

, dst_dir)

os.rename(

file

,file

.encode(

'cp437'

).decode(

'gbk'))

else

:print

('this is not zip'

)unzip_file(

"1.zip"

,"c:/users/10854/pycharmprojects/untitled/"

)

根據部署時的設定 ftpuser使用者僅有sftpdata資料夾可以進行資料的讀寫,其他路徑下會報錯。以此可以進行伺服器資料保護,防止資料因錯誤操作而丟失。

import paramiko

transport = paramiko.transport(

("10.20.2.25",22

))# 獲取transport例項

transport.connect(username=

"ftpuser"

, password=

"123456"

)sftp = paramiko.sftpclient.from_transport(transport)

sftp = sftp.remove(path=

'/home/sftp/sftpdata/1.zip'

)transport.close(

)

import csv

csv_read = csv.reader(

open

('os_objects_2020-02-12t09_16_14+08_00.csv'))

for row in csv_read:

print

(row)

讀取完後,**中的每一行由列表形式輸出,通過for迴圈可以輸出每一行。

python進行檔案操作

什麼是檔案 檔案是系統儲存區域的乙個命名位置,用來儲存一些資訊,便於後續訪問。能夠在非易失性儲存器中實現持續性儲存,比如在硬碟上。當我們要讀取或者寫入檔案時,我們需要開啟檔案 在操作完畢時,我們需要關閉檔案,以便釋放和檔案操作相關的系統資源,因此,檔案操作的主要包括以下 開啟檔案 python使用內...

sftp連線mysql FTP SFTP連線命令

五 ftp連線 輸入 ftp 10.18.49.19 2121 六 輸入賬號密碼 zhangsan sdjg34t 七 輸入 ls 檢視檔案是否上傳 如上傳 輸入 bye 退出ftp 九 ftp 當前目錄下連線 ftp 10.18.49.19 2121 十 輸入zhangsan sdjg34t ls...

使用Python進行檔案管理

檔案管理一般分為 開啟檔案 操作檔案內容 關閉檔案。檔案開啟 open mnt file 檔案操作 讀檔案 open mnt file read read n 指定讀取前n個字元 readline 按行讀取 readlines 將所有內容讀到一行 寫內容 open mnt.file wirte 關閉...