推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
hzwer
V2EX  ›  Python

新人写的轮子求指点

  •  
  •   hzwer ·
    hzwer · Dec 26, 2015 · 5996 views
    This topic created in 3824 days ago, the information mentioned may be changed or developed.

    想在终端下实现查英文单词和词组

    用 python3 写了个

    https://github.com/hzwer/termdic

    求指教 QAQ

    ps :第一次在 V2EX 发帖,高中狗,有什么做错的地方求轻喷

    28 replies    2016-01-05 11:07:30 +08:00
    ahxxm
        1
    ahxxm  
       Dec 26, 2015   ❤️ 1
    依赖里没写 lxml ,我新建的 python3 virtualenv 直接 pip install 之用起来会报错……其实直接用正则就可以搞定?

    可以尝试兼容 python2 ,加点测试,多点词典后端(英英,离线文件等?)。。

    pypi 上的下载都是镜像站带来的,不要太慌
    hzwer
        2
    hzwer  
    OP
       Dec 26, 2015
    @ahxxm 嗯嗯,我正在尝试兼容。。
    好像是用 BeatifulSoup 的时候提示要加上这个 lxml ,其实并没有很理解它是什么,看来需要学习一个
    您是说换成用正则写会更好?
    唔,显然我不会相信有人会无聊地去下载啦。。。
    hzwer
        3
    hzwer  
    OP
       Dec 26, 2015
    @ahxxm 噗。。。 beautiful 都拼错了。。。
    xufang
        4
    xufang  
       Dec 26, 2015 via Android   ❤️ 1
    中学生写成这样挺好的。

    建议你研究一下如何在终端输出彩色文字,这样才比较实用。
    ahxxm
        5
    ahxxm  
       Dec 26, 2015
    @hzwer 它是个 xml 解析库, bs 可以用它来解析网页,可以改成"html.parser"或者其他的试试,不保证能用。。 http://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-a-parser
    Allianzcortex
        6
    Allianzcortex  
       Dec 26, 2015
    @hzwer 好吧,你还是要相信有人要无聊地试一下的,毕竟教学楼都被封了^

    高中学 Python? 目测是 OIer
    hzwer
        7
    hzwer  
    OP
       Dec 26, 2015
    @Allianzcortex 恩。。。退役 OIer
    求大家多多指教
    spencerqiu
        8
    spencerqiu  
       Dec 26, 2015 via Android
    黄学长黄学长黄学长
    873681136
        9
    873681136  
       Dec 26, 2015
    又见黄学长,我是多年前的 METO , 233
    bdbai
        10
    bdbai  
       Dec 26, 2015 via iPhone
    高中正是折腾的时候。加油。
    话说你高几?
    spencerqiu
        11
    spencerqiu  
       Dec 26, 2015
    @bdbai
    楼主是保送爷菊苣 ...
    shidenggui
        12
    shidenggui  
       Dec 26, 2015   ❤️ 1
    不久前我也写过,正好也是用的 youdao 的接口
    https://github.com/shidenggui/Command-Line-Dict-For-English
    hzwer
        13
    hzwer  
    OP
       Dec 26, 2015
    @spencerqiu 并没有保送。。。 QAQ
    XiaoXiaoNiWa
        14
    XiaoXiaoNiWa  
       Dec 26, 2015
    膜拜 hzwer 神犇
    orzorz
    ahxxm
        15
    ahxxm  
       Dec 26, 2015
    @hzwer 啊看漏两句,严格说来我也算是个人的。。用正则比较轻便吧,感觉每次装 lxml 全球气温都要上升一点
    unique
        16
    unique  
       Dec 26, 2015
    楼主算法好像很 6😶
    caizixian
        17
    caizixian  
       Dec 26, 2015 via Android
    Orz 黄学长
    caizixian
        18
    caizixian  
       Dec 26, 2015 via Android
    异常捕获太泛了 容易留隐患
    caizixian
        19
    caizixian  
       Dec 26, 2015 via Android
    获取命令行参数的地方也有可能抛异常。
    hzwer
        20
    hzwer  
    OP
       Dec 26, 2015
    @caizixian 我修改了,你顺便帮我看看 python2.x 能不能使?
    命令行参数怎么获取比较科学?
    hiluluke
        21
    hiluluke  
       Dec 26, 2015
    一样的轮子啊。。。我这个比较简洁。。。 https://github.com/wszgxa/tra 用 node 写的。
    hzwer
        22
    hzwer  
    OP
       Dec 26, 2015
    @unique 并不。。。
    messyidea
        23
    messyidea  
       Dec 26, 2015
    @ahxxm 比喻好形象啊,那个 lxml 在 256mb 内存的机器上根本编译不了。我每次都是直接 apt-get 的
    caizixian
        24
    caizixian  
       Dec 27, 2015 via Android
    @hzwer 我最近只有手机用。
    命令行参数处理可以用 docopt 或者 argparse
    ahxxm
        25
    ahxxm  
       Dec 27, 2015
    @messyidea 开缓存试试。。
    nekoprpr
        26
    nekoprpr  
       Dec 29, 2015
    一个 bug ,如果查询单词英音或美音音标有超过一种读法会报错,类似 year , the ,
    File "C:/Users/ryy/Desktop/termdic-master/termdic/termdic.py", line 24, in look_up
    print(cl(u'英音{0} 美音{1}'.format(ps[0], ps[1]), 'cyan'))
    UnicodeEncodeError: 'gbk' codec can't encode character '\xf0' in position 27: illegal multibyte sequence
    建议解决。
    hzwer
        27
    hzwer  
    OP
       Dec 29, 2015
    @nekoprpr 在 windows 系统下好像是无法使用的,运行都会报编码错误的吧?
    0.1.0 版本 linux 和 mac os 好像不会出现这个问题
    Allianzcortex
        28
    Allianzcortex  
       Jan 5, 2016
    @hzwer 用 argparse, argv[1:]太简单了,用 getopt ,算了,不说了,都是泪
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3568 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 64ms · UTC 10:52 · PVG 18:52 · LAX 03:52 · JFK 06:52
    ♥ Do have faith in what you're doing.