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
有了这段代码,我得到了FTP服务器中存在的目录名列表,现在我可以找到列表中最后一个目录。你知道吗
我的输出是:
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
我想找到列表中的最后一个目录(03-05-12 12 12:25PM mcl\u 201209\u hw79u\u 06)
最后,我能够解决我的问题与上述代码的帮助下,我们能够过滤所有目录的列表,然后我们能够找到目录位于最后。谢谢大家的帮助。你知道吗
如果这是一个列表,你就这样做
假设索引列表时出错,程序不会停止:
这就是你想要的吗?你知道吗
为了有用,您应该使用logger来跟踪
e
(错误消息),而是返回一个默认值(如None
),这样您就知道有什么地方出错了/不存在目录。你知道吗我不知道这里的
string
模块有什么用。如果只是在列表中找到我需要的东西,我很少使用这个模块。你知道吗请给我这些描述和编辑您原来的职位。你知道吗
print line
的结果print data
的结果在回答我的问题时,你也许能想出解决的办法。你知道吗
谢谢。你知道吗
好吧。所以我假设每一行都是表格的记录:
12-09-11 10:04PM <DIR> mcl_201147_hw79u_05
假设您没有办法将time
、<DIR>
和dir-name
分开,您可以这样做您也可以尝试先
' '.join(mystring.split())
,然后应用split()
(没有任何参数),但我认为立即执行split
更简单,内存效率更高,因为第一个方法只会创建一个列表,而另一个方法会创建两个列表。你知道吗如果
lines
还不是str
类型,请尝试查看str(line)
是否有帮助。你知道吗如果你需要找到所有的
dirname
,请用谷歌list comprehension
。它被认为比循环更有效。这是一个简洁的方式写下你要达到的目标。。。当然,要根据你的要求进行适当的剥离。你知道吗相关问题 更多 >
编程相关推荐