Python 如何找到列表中最后一个目录中的目录
通过这段代码,我得到了FTP服务器中存在的目录名称列表,现在我可以找到列表中最后一个目录Python 如何找到列表中最后一个目录中的目录,python,Python,通过这段代码,我得到了FTP服务器中存在的目录名称列表,现在我可以找到列表中最后一个目录 import ftplib import re import string ftp = ftplib.FTP('') # For access FTP link. ftp.login ("") ftpdir = ftp.cwd('') data=[] ftp.dir(data.append) for line in data: string.find("DIR","data") i
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
我的输出是:
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
12-09-11 10:04下午mcl\U 201147\U hw79u\U 05
12-08-11 01:19上午mcl_201148_hw79u_02
12-16-11 12:53下午mcl_201149_hw79u_07
12-25-11 12:11上午12:11 mcl_201150_hw79u_05
01-07-12 12:00AM mcl_201151_hw79u_04
01-07-12 11:37下午mcl_201152_hw79u_05
01-17-12 01:06AM mcl_201201_hw79u_04
01-29-12 12:52上午mcl_201202_hw79u_04
02-04-12 01:06上午mcl_201203_hw79u_03
02-11-12 01:28上午mcl_201204_hw79u_05
02-17-12 01:12上午mcl_201205_hw79u_05
02-19-12 01:22上午mcl_201206_hw79u_05
03-02-12 02:24AM mcl\U 201207\U hw79u\U 05
03-04-12 02:01上午mcl_201208_hw79u_05
03-05-12 12:25下午mcl_201209_hw79u_06
我想查找列表中的最后一个目录(03-05-12 12:25PM mcl_201209_hw79u_06)如果这是一个列表,您可以这样做
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
12-09-11 10:04PM <DIR> mcl_201147_hw79u_05
12-08-11 01:19AM <DIR> mcl_201148_hw79u_02
12-16-11 12:53PM <DIR> mcl_201149_hw79u_07
12-25-11 12:11AM <DIR> mcl_201150_hw79u_05
01-07-12 12:00AM <DIR> mcl_201151_hw79u_04
01-07-12 11:37PM <DIR> mcl_201152_hw79u_05
01-17-12 01:06AM <DIR> mcl_201201_hw79u_04
01-29-12 12:52AM <DIR> mcl_201202_hw79u_04
02-04-12 01:06AM <DIR> mcl_201203_hw79u_03
02-11-12 01:28AM <DIR> mcl_201204_hw79u_05
02-17-12 01:12AM <DIR> mcl_201205_hw79u_05
02-19-12 01:22AM <DIR> mcl_201206_hw79u_05
03-02-12 02:24AM <DIR> mcl_201207_hw79u_05
03-04-12 02:01AM <DIR> mcl_201208_hw79u_05
03-05-12 12:25PM <DIR> mcl_201209_hw79u_06
假设列表索引出现问题,程序将不会停止:
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
try:
return data[-1]
except IndexError as e:
return e
// in your code you can just print "e" and you can continue like this...
// version two demonstrate why try, except is useful
def getdir(data):
try:
data[-1]
except IndexError as e:
return e
....
print getdir(data)
print 1+1
这是你想要的吗
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
为了有用,您应该使用logger跟踪
e
(错误消息),并返回默认值(如None
),这样您就知道有错误/不存在目录
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
我不确定这里的string
模块有什么用。如果只是在列表中找到我需要的东西,我很少使用这个模块
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
请给我这些描述和编辑您的原始文章
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
dir
你想要的import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
谢谢
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
好的。所以我假设每一行都是表单的记录:
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
12-09-11 10:04下午mcl\U 201147\U hw79u\U 05
假设您没有办法将时间
、
和目录名
分开,您可以这样做
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
list index out of range
2
mystring=“12-09-11 10:04下午mcl\U 201147\U hw79u\U 05”
dirname=mystring.split(“”[-1]
//['12-09-11','10:04PM','
//和[-1]表示列表中的最后一个元素(按相反顺序)
你也可以先尝试''.join(mystring.split())
,然后应用split()
(没有任何参数),但我认为立即执行拆分
更容易,内存效率更高,因为第一种方法只创建一个列表,而另一种方法将创建两个列表
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
如果行
尚未输入str
类型,请尝试查看str(行)
是否有帮助
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
如果您需要查找所有目录名
,请使用谷歌列表理解
。它被认为比循环更有效。这是一个简洁的方式写下你将要实现的目标。。。当然,根据您的要求进行适当的剥离
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line
mystring = "12-09-11 10:04PM <DIR> mcl_201147_hw79u_05"
dirname = mystring.split(" ")[-1]
// ['12-09-11', '', '10:04PM', '', '', '', '', '', '', '<DIR>', '', '', '', '', '', '', '', '', '', 'mcl_201147_hw79u_05']
// and [-1] indicates the last element in the list (in reverse order)
最后,我能够解决我的问题,借助上面的代码,我们能够过滤所有目录的列表,然后我们能够找到位于最后一个目录中的目录。谢谢大家的帮助。谢谢。。我在FTP位置有不同类型的文件,我只想要目录,当我得到所有目录名时,我想在最后一个位置找到目录。@user1227493很抱歉,但我不太理解这个要求。那么
数据中有什么?目录和文件?您是什么意思在最后一个位置查找目录?查看我的编辑以便我可以提供帮助。我的输出是01-29-12 12:52AM mcl_201202_hw79u_04 02-04-12 01:06AM mcl_201203_hw79u_03 02-11-12 01:28AM mcl_201204_hw79u_05 02-17-12 01:12AM mcl_201205_hw79u 05 02-19-12 01:22AM mcl_201206_hw79u 05 03-02-12:244;mcl_201207_hw79u_05 03-04-12 02:01AM mcl_201208_hw79u_05 03-05-12 12:25PM mcl_201209_hw79u_06我想找到列表中的最后一个目录(03-05-12 12:25PM mcl_201209_hw79u_06)
import ftplib
import re
import string
ftp = ftplib.FTP('') # For access FTP link.
ftp.login ("")
ftpdir = ftp.cwd('')
data=[]
ftp.dir(data.append)
for line in data:
string.find("DIR","data")
if "DIR" in line:
print line