Skip to main content

Python - SFTP connection, upload file and delete a file from SFTP server

 Below is the python program which will connect to SFTP server, upload a file to SFTP server and delete a specific file from SFTP server. Here is the code:


import paramiko

from paramiko.ssh_exception import SSHException

import os

import time


hostname = 'hostname here'

username = 'username here'

password = 'password here'

port = PORT_NO


SSH_Client = paramiko.SSHClient()

SSH_Client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

SSH_Client.connect(hostname=hostname,

                   port=port,

                   username=username,

                   password=password,

                   look_for_keys=False)


sftp_client = SSH_Client.open_sftp()

print("Connection successfully established ... ")


remoteFilePath = "/home"


# Output: lists of files ['my-directory', 'my-file']

print(f"lists of files {sftp_client.listdir(remoteFilePath)}")


# Output: lists of files [<SFTPAttributes: [ size=0 mode=0o40755 atime=0 mtime=0 ]>, <SFTPAttributes: [ size=50615986 mode=0o100644 atime=1701012997 mtime=1701012997 ]>]

print(f"lists of files {sftp_client.listdir_attr(remoteFilePath)}")


file_to_delete = "file path of SFTP folder"

upload_file_name = 'SFTP_Test.txt'

localFilePath = "local path"+upload_file_name

remoteFilePath = "remote path"

try:

  sftp_client.put(localFilePath, remoteFilePath+'/SFTP_Test.txt')

  print(f"{file_to_delete} => File is successfully placed on SFTP server ... ")


  print("Wait time begin is : ", time.ctime())

  time.sleep(15)

  print("Wait time end is : ", time.ctime())


  # Remove file


  sftp_client.remove(file_to_delete)

  print(f"{file_to_delete} => file is successfully deleted from SFTP server ... ")


except FileNotFoundError as err:

  print(f"File {localFilePath} was not found on the local system")


except ConnectionResetError as cre:

    print(f"Connection Reset Error")


except SSHException as cre:

    print(f"SSHException")


finally:

    sftp_client.close()

Comments

Popular posts from this blog

Add, remove, search an item in listview in C#

Below is the C# code which will help you to add, remove and search operations on listview control in C#. Below is the design view of the project: Below is the source code of the project: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Treeview_control_demo {     public partial class Form2 : Form     {         public Form2()         {             InitializeComponent();             listView1.View = View.Details;                   }         private void button1_Click(object sender, EventArgs e)         {             if (textBox1.Text.Trim().Length == 0)...

Add worklog in Jira using Python

 Below is the Python code to add the worklog in Jira. You need to install a request library for this. Here is the code: import requests from requests.auth import HTTPBasicAuth import json url = "https://your jira address here/rest/api/2/issue/ticket_number/worklog" auth = HTTPBasicAuth("username", "jira access token") headers = {     "Accept": "application/json",     "Content-Type": "application/json" } payload = json.dumps({     "comment": {         "content": [             {                 "content": [                     {                         "text": "This is for QA Testing",                         "type": "text"                     } ...

Some GUI examples in Python using customtkinter

 Some GUI examples in Python using customtkinter import customtkinter import os from PIL import Image class ScrollableCheckBoxFrame(customtkinter.CTkScrollableFrame):     def __init__(self, master, item_list, command=None, **kwargs):         super().__init__(master, **kwargs)         self.command = command         self.checkbox_list = []         for i, item in enumerate(item_list):             self.add_item(item)     def add_item(self, item):         checkbox = customtkinter.CTkCheckBox(self, text=item)         if self.command is not None:             checkbox.configure(command=self.command)         checkbox.grid(row=len(self.checkbox_list), column=0, pady=(0, 10))         self.checkbox_list.append(checkbox)     def remove_item(self, it...