I use the below python script to check if a file exist on the root
of my ftp server.
from ftplib import FTP
ftp = FTP('ftp.hostname.com')
ftp.login('login', 'password')
folderName = 'foldername'
if folderName in ftp.nlst() :
print 'YES'
else : print 'NO'
How can I modify the above script to look inside a specific folder instead of the root
directory?
For example, I want to see if a folder name called foo
exists inside the www
directory.
The goal
of my question, is to see if the folder foo
exists inside the www
directory, if so print cool
! if not create a folder called foo
inside www
.
import os path = '/Users/krunal/Desktop/code/database' # Check whether the specified path exists or not isExist = os. path. exists(path) if not isExist: # Create a new directory because it does not exist os. makedirs(path) print("The new directory is created!")
You can use os. path. exists('<folder_path>') to check folder exists or not.
os. path. isdir() method in Python is used to check whether the specified path is an existing directory or not. This method follows a symbolic link, which means if the specified path is a symbolic link pointing to a directory then the method will return True.
from ftplib import FTP
ftp = FTP('ftp.hostname.com')
ftp.login('login', 'password')
where = 'www'
folderName = 'foldername'
if folderName in ftp.nlst(where) :
print 'YES'
else :
print 'NO'
Just send the directory you want to see in as first argument of ftp.nlst()
After the hint from Hans! I searched on google for those commandes and I found this link : http://docs.python.org/2/library/ftplib.html
from ftplib import FTP
ftp = FTP('ftp.hostname.com')
ftp.login('login', 'passwrd')
ftp.cwd('www') # change into 'www' directory
if 'foo' in ftp.nlst() : #check if 'foo' exist inside 'www'
print 'YES'
ftp.cwd('foo') # change into "foo" directory
ftp.retrlines('LIST') #list directory contents
else :
print 'NO'
ftp.mkd('foo') #Create a new directory called foo on the server.
ftp.cwd('foo') # change into 'foo' directory
ftp.retrlines('LIST') #list subdirectory contents
ftp.close() #close connection
ftplib is a rather thin wrapper around the FTP protocol. You can look at http://en.wikipedia.org/wiki/List_of_FTP_commands to see what the FTP commands do.
Hint: look at CWD, LIST, MKD.
For LIST you will need ftp.retrlines and parse it to see if it is a directory.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With