Me gustaría eliminar todos los archivos de un directorio determinado en un servidor remoto al que ya estoy conectado usando paramiko. Sin embargo, no puedo dar explícitamente los nombres de los archivos, porque variarán según la versión del archivo que haya colocado allí anteriormente.¿Cómo eliminar todos los archivos del directorio en el servidor remoto en python?
Aquí es lo que estoy tratando de hacer ... la línea por debajo de la #TODO es la llamada que estoy tratando donde remoteArtifactPath es algo así como "/ opt/foo/*"
ssh = paramiko.SSHClient()
ssh.load_host_keys(os.path.expanduser(os.path.join("~", ".ssh", "known_hosts")))
ssh.connect(server, username=username, pkey=mykey)
sftp = ssh.open_sftp()
# TODO: Need to somehow delete all files in remoteArtifactPath remotely
sftp.remove(remoteArtifactPath+"*")
# Close to end
sftp.close()
ssh.close()
Cualquier idea ¿Cómo puedo lograr esto?
Gracias
sugiere emplear '' 'os.path.join (remoteArtifactPath, archivo)' '' en lugar de '' 'sftp.remove (+ remoteArtifactPath archivo)' '', porque '' 'os.path. join() '' 'es independiente de la plataforma. Los separadores de línea pueden diferir según la plataforma y usar os.path.join garantiza que las rutas se generen correctamente, independientemente de la plataforma. – 9monkeys