How to check if folder exist inside a directory if not create it using python
Solution 1
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
Solution 2
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()
Solution 3
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.
mongotop
BY DAY: Data Engineer. BY NIGHT: I like to hit the gym for a bit and cook some nice traditional Moroccan food. FOR FUN: camping during the weekend, watching movies in the theater and reading outdoors.
Updated on June 06, 2022Comments
-
mongotop almost 2 years
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 thewww
directory.The
goal
of my question, is to see if the folderfoo
exists inside thewww
directory, if so printcool
! if not create a folder calledfoo
insidewww
.