关于Python的一点点感想。。。
时间:2011-02-23 来源:kewing
很简单的一个程序,我以Python实现(因为比较与顺序有关,所以去重复稍微麻烦。。。):
1 import re
2
3 # file path
4 TtileList = 'E:\\Current\\result\\Ttiles.txt'
5 AlbumList = 'E:\\Current\\result\\Albums.txt'
6 ArtistList = 'E:\\Current\\result\\Artists.txt'
7 ComposerList = 'E:\\Current\\result\\Composers.txt'
8
9 def getlist_fromfile(filepath):
10 li = []
11 comma = re.compile(',')
12 quote = re.compile('"')
13 with open(filepath) as file:
14 li = [quote.sub('\'', comma.sub(' ', line)) for line in file]
15 li = list(set(li))
16 return li
17
18 def writein(filepath, li):
19 with open(filepath, mode='w') as file:
20 file.writelines(li)
21
22 if __name__ == '__main__':
23 title = getlist_fromfile(TtileList)
24 artist = getlist_fromfile(ArtistList)
25 composer = getlist_fromfile(ComposerList)
26 album = getlist_fromfile(AlbumList)
27
28 Trim = lambda l1,l2: list(set(l2) - set(l1))
29
30 title = Trim(album, title)
31 artist = Trim(album, artist)
32 artist = Trim(title, artist)
33 composer = Trim(album, composer)
34 composer = Trim(title, composer)
35
36 writein(AlbumList, album)
37 writein(TtileList, title)
38 writein(ArtistList, artist)
39 writein(ComposerList, composer)
从代码中,可以很明显的看出如下两点:
1.lz是Python新手,写Python还不多。。。(所以才会忘记应该将定义的路径TtileList等做成字典。。。)
2.lz是搞C/C++的。。。(所以才想着定义一个const字符串代表路径。。。)
总结下Python:
1。开发效率快、快、快。。。
2。代码量少。。。
3。类库足够多,足够强大。。。
个人的一些感想:
1.为何Python3将file函数去掉。。。
本可以将打开文件直接写作:li = [quote.sub('\'', comma.sub(' ', line)) for line in file(...)],虽然也可以写作li = [quote.sub('\'', comma.sub(' ', line)) for line in open(...)],但如果用file,是不是更能表达how,而不是what。。。
2.为何Python没有一个好点的IDE。。。
当然IDE不是绝对的,但有时候总觉麻烦。是不是说,诸位用Python的大神都不用IDE的。。。
3.总觉Python的debug功能太差强人意。。。
使用的是IDLE开发,一直用不习惯那个debug。。。这是否与没有一个好用的IDE有关?。。。
4.Python有好的GUI工具吗?
比如像用VB/VB.NET,MFC,C#.NET。。。比较有时候一个GUI是需要的,因为没有很便利的GUI工具,所以,至少对我来说,限制了使用Python的场合。。
5.综上所述,lz对Python究竟多用在哪些方面感到一丝困惑。。。