六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 34|回复: 0

样例代码学习

[复制链接]

升级  27.67%

83

主题

83

主题

83

主题

举人

Rank: 3Rank: 3

积分
283
 楼主| 发表于 2013-1-15 02:55:00 | 显示全部楼层 |阅读模式
 
#!/usr/bin/env python#pyaria2.pyimport os, sys, urllibdef usage():    print """Usage: python tharia2.py [OPTIONS] URLOPTIONS: As same as options of aria2c"""def get_url_list(url, listpath):    if not os.path.exists(listpath):        print "Getting URL list, please wait..."        f = urllib.urlopen("http://cocobear.info/demo/pythunder/?url=%s" % url)        lst = open(listpath, "w+")        lst.writelines(f.readlines())        f.close        lst.seek(0)    else:        print "Found existing url list: ", listpath        lst = open(listpath)    url_list = [line[:-1] for line in lst]    lst.close()    print "Recieved %d url(s)." % len(url_list)    return " ".join(url_list)def download(url):    for prefix in (r"http://", r"https://", r"ftp://"):        if url.startswith(prefix):            break    else:        print "Invalid URL: %s" % url        exit()    listdir = os.path.expanduser("~/.tharia2/list/")    listfile = os.path.split(url)[-1] + ".list"    if not os.path.exists(listdir):        os.makedirs(listdir)    listpath = os.path.join(listdir, listfile)    url_list = get_url_list(url, listpath)    cmd = " ".join(("aria2c -c", " ".join(sys.argv[1:-1]), url_list))    print "Executing command: %s" % cmd    if not os.system(cmd):        os.remove(listpath)if __name__ == "__main__":    if len(sys.argv) > 1:        download(sys.argv[-1])    else:        usage() 
1,sys.argv[-1]表示获取Lists的最后一个元素,如 names=["1", "2", "3", "4"]
     则names[-1]为4,names[:-1]为1,2,3表示从开始到该元素,names[-3, -1]为2,3等
2,sys.argv
3,os
4,file
5,urllib
 
 http://www.kissuki.com/2009/05/python-版-linux-下的迅雷/
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表