1. tensorlab 支持python接口吗
这又是一个 Awesome XXX 系列的资源整理,由 vinta 发起和维护。内容包括:Web框架、网络爬虫、网络内容提取、模板引擎、数据库、数据可视化、图片处理、文本处理、自然语言处理、机器学习、日志、代码分析等。
伯乐在线已在 GitHub 上发起「Python 资源大全中文版」的整理。欢迎扩散、欢迎加入。
GitHub - jobbole/awesome-python-cn: Python资源大全中文版
环境管理
管理 Python 版本和环境的工具
p – 非常简单的交互式 python 版本管理工具。
pyenv – 简单的 Python 版本管理工具。
Vex – 可以在虚拟环境中执行命令。
virtualenv – 创建独立 Python 环境的工具。
virtualenvwrapper- virtualenv 的一组扩展。
包管理
管理包和依赖的工具。
pip – Python 包和依赖关系管理工具。
pip-tools – 保证 Python 包依赖关系更新的一组工具。
conda – 跨平台,Python 二进制包管理工具。
Curdling – 管理 Python 包的命令行工具。
wheel – Python 分发的新标准,意在取代 eggs。
包仓库
本地 PyPI 仓库服务和代理。
warehouse – 下一代 PyPI。
Warehousebandersnatch – PyPA 提供的 PyPI 镜像工具。
devpi – PyPI 服务和打包/测试/分发工具。
localshop – 本地 PyPI 服务(自定义包并且自动对 PyPI 镜像)。
分发
打包为可执行文件以便分发。
PyInstaller – 将 Python 程序转换成独立的执行文件(跨平台)。
dh-virtualenv – 构建并将 virtualenv 虚拟环境作为一个 Debian 包来发布。
Nuitka – 将脚本、模块、包编译成可执行文件或扩展模块。
py2app – 将 Python 脚本变为独立软件包(Mac OS X)。
py2exe – 将 Python 脚本变为独立软件包(Windows)。
pynsist – 一个用来创建 Windows 安装程序的工具,可以在安装程序中打包 Python本身。
构建工具
将源码编译成软件。
buildout – 一个构建系统,从多个组件来创建,组装和部署应用。
BitBake – 针对嵌入式 Linux 的类似 make 的构建工具。
fabricate – 对任何语言自动找到依赖关系的构建工具。
PlatformIO – 多平台命令行构建工具。
PyBuilder – 纯 Python 实现的持续化构建工具。
SCons – 软件构建工具。
交互式解析器
交互式 Python 解析器。
IPython – 功能丰富的工具,非常有效的使用交互式 Python。
bpython- 界面丰富的 Python 解析器。
ptpython – 高级交互式Python解析器, 构建于python-prompt-toolkit 之上。
文件
文件管理和 MIME(多用途的网际邮件扩充协议)类型检测。
imghdr – (Python 标准库)检测图片类型。
mimetypes – (Python 标准库)将文件名映射为 MIME 类型。
path.py – 对 os.path 进行封装的模块。
pathlib – (Python3.4+ 标准库)跨平台的、面向对象的路径操作库。
python-magic- 文件类型检测的第三方库 libmagic 的 Python 接口。
Unipath- 用面向对象的方式操作文件和目录
watchdog – 管理文件系统事件的 API 和 shell 工具
日期和时间
操作日期和时间的类库。
arrow- 更好的 Python 日期时间操作类库。
Chronyk – Python 3 的类库,用于解析手写格式的时间和日期。
dateutil – Python datetime 模块的扩展。
delorean- 解决 Python 中有关日期处理的棘手问题的库。
moment – 一个用来处理时间和日期的Python库。灵感来自于Moment.js。
PyTime – 一个简单易用的Python模块,用于通过字符串来操作日期/时间。
pytz – 现代以及历史版本的世界时区定义。将时区数据库引入Python。
when.py – 提供用户友好的函数来帮助用户进行常用的日期和时间操作。
文本处理
用于解析和操作文本的库。
通用
chardet – 字符编码检测器,兼容 Python2 和 Python3。
difflib – (Python 标准库)帮助我们进行差异化比较。
ftfy – 让Unicode文本更完整更连贯。
fuzzywuzzy – 模糊字符串匹配。
Levenshtein – 快速计算编辑距离以及字符串的相似度。
pangu.py – 在中日韩语字符和数字字母之间添加空格。
pyfiglet -figlet 的 Python实现。
shortuuid – 一个生成器库,用以生成简洁的,明白的,URL 安全的 UUID。
unidecode – Unicode 文本的 ASCII 转换形式 。
uniout – 打印可读的字符,而不是转义的字符串。
xpinyin – 一个用于把汉字转换为拼音的库。
Slug化
awesome-slugify – 一个 Python slug 化库,可以保持 Unicode。
python-slugify – Python slug 化库,可以把 unicode 转化为 ASCII。
unicode-slugify – 一个 slug 工具,可以生成 unicode slugs ,需要依赖 Django 。
解析器
phonenumbers – 解析,格式化,储存,验证电话号码。
PLY – lex 和 yacc 解析工具的 Python 实现。
Pygments – 通用语法高亮工具。
pyparsing – 生成通用解析器的框架。
python-nameparser – 把一个人名分解为几个独立的部分。
python-user-agents – 浏览器 user agent 解析器。
sqlparse – 一个无验证的 SQL 解析器。
特殊文本格式处理
一些用来解析和操作特殊文本格式的库。
通用
tablib – 一个用来处理中表格数据的模块。
Office
Marmir – 把输入的Python 数据结构转换为电子表单。
openpyxl – 一个用来读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件的库。
python-docx – 读取,查询以及修改 Microsoft Word 2007/2008 docx 文件。
unoconv – 在 LibreOffice/OpenOffice 支持的任意文件格式之间进行转换。
XlsxWriter – 一个用于创建 Excel .xlsx 文件的 Python 模块。
xlwings – 一个使得在 Excel 中方便调用 Python 的库(反之亦然),基于 BSD 协议。
xlwt / xlrd – 读写 Excel 文件的数据和格式信息。
relatorio – 模板化OpenDocument 文件。
PDF
PDFMiner – 一个用于从PDF文档中抽取信息的工具。
PyPDF2 – 一个可以分割,合并和转换 PDF 页面的库。
ReportLab – 快速创建富文本 PDF 文档。
Markdown
Mistune – 快速并且功能齐全的纯 Python 实现的 Markdown 解析器。
Python-Markdown – John Gruber’s Markdown 的 Python 版实现。
YAML
PyYAML – Python 版本的 YAML 解析器。
CSV
csvkit – 用于转换和操作 CSV 的工具。
Archive
unp – 一个用来方便解包归档文件的命令行工具。
自然语言处理
用来处理人类语言的库。
NLTK – 一个先进的平台,用以构建处理人类语言数据的 Python 程序。
jieba – 中文分词工具。
langid.py – 独立的语言识别系统。
Pattern – Python 网络信息挖掘模块。
SnowNLP – 一个用来处理中文文本的库。
TextBlob – 为进行普通自然语言处理任务提供一致的 API。
TextGrocery – 一简单高效的短文本分类工具,基于 LibLinear 和 Jieba。
文档
用以生成项目文档的库。
Sphinx – Python 文档生成器。
awesome-sphinxdoc
MkDocs – 对 Markdown 友好的文档生成器。
pdoc – 一个可以替换Epydoc 的库,可以自动生成 Python 库的 API 文档。
Pycco – 文学编程(literate-programming)风格的文档生成器。
配置
用来保存和解析配置的库。
config – logging 模块作者写的分级配置模块。
ConfigObj – INI 文件解析器,带验证功能。
ConfigParser – (Python 标准库) INI 文件解析器。
profig – 通过多种格式进行配置,具有数值转换功能。
python-decouple – 将设置和代码完全隔离。
命令行工具
用于创建命令行程序的库。
命令行程序开发
cement – Python 的命令行程序框架。
click – 一个通过组合的方式来创建精美命令行界面的包。
cliff – 一个用于创建命令行程序的框架,可以创建具有多层命令的命令行程序。
clint – Python 命令行程序工具。
colorama – 跨平台彩色终端文本。
docopt – Python 风格的命令行参数解析器。
Gooey – 一条命令,将命令行程序变成一个 GUI 程序。
python-prompt-toolkit – 一个用于构建强大的交互式命令行程序的库。
生产力工具
aws-cli – Amazon Web Services 的通用命令行界面。
bashplotlib – 在终端中进行基本绘图。
caniusepython3 – 判断是哪个项目妨碍你你移植到 Python 3。
cookiecutter – 从 cookiecutters(项目模板)创建项目的一个命令行工具。
2. 北大青鸟有web前端课程吗
有啊,怎么会没有?几乎所有的it培训班都开设了web前端课程呀,这没有什么稀奇的啊,这是培训班的标配。
3. Org-mode,reST,Markdown 各有什么优缺点
几种都用过,都不精通,抛砖引玉说下我的感受:
Markdown
优点:
格式简单,即使在纯文本模式下也很易读。
应用广泛。在 GitHub, Reddit, StackOverflow 等一大批网站的影响下,在互联网上应用很广。
工具和库的支持很好。无论是编辑、转换还是和其它库的集成,Markdown无疑在三种中是最好的。
缺点:
不支持复杂的格式(如表格等)。
有太多不兼容的方言。由于原始的Markdown支持的格式有限,所以出现了很多不同的扩展,这些扩展之间的不兼容性是一个问题。GitHub 等几个公司准备制定一个统一的标准,希望这种情况能有所好转。
reST
优点:
表达能力强。如果要写书、文档等复杂格式的内容,reST 无疑是一个很好的选择。
和Python语言的结合较好。如果你是Python程序员,reST也是文档的首选。
有Sphinx这个很棒的工具支持,不但能转化成html、PDF等各种格式,还支持python、javascript、C++等编程语言,并且有很多的扩展。
缺点:
格式过于复杂。reST纯文本的可读性不如Markdown和Org.
工具和库不如Markdown丰富。
Org
优点:
有最好的编辑器支持(如果你用Emacs的话). 在Emacs的org-mode模式下编辑Org非常舒服。
功能强大。除了一般的格式,还支持「文学编程」、GTD 等。并且能够导出为各种格式。
缺点:
跟Emacs结合紧密。如果你不是一个Emacs用户,那么很遗憾你不能享受Org的所有便利(即使vim已经对Org有了基本的支持)。
缺少各种库的支持。你要是想把Org集成到你的系统里可能没有那么容易。
格式复杂。功能的强大往往伴随着更多要学习的东西。
总结
如果要集成到你的系统里(比如用户评论),或者写格式不是太复杂的博客,Markdown也许是合适的选择。
如果要写复杂的文档,或者你是Python程序员,reST 有很大优势。
如果你是Emacs用户,或者要尝试下「文学编程」、GTD这些玩意儿,那么用org-mode吧!
4. 为什么很多人反对中文在编程中的使用
并不是很多人反对中文在编程中的应用,因为计算机技术的发展美国处于领先地位,所以编程当然用人家的语言,等到中国领先时可以用中文。
我国计算机领域弱是因为我们起步晚,计算机与1945年诞生,那时候中国还在内战,后来,文化大革命的十年加剧了中国的落后,还有一点需要强调,计算机技术的发展受到很多标准的制约,比如微软的操作系统,即使他一时落后,很多人也不会马上扔掉他,因为很多软件是基于微软的操作系统的,没有了他的系统,这些软件也无法使用,而迁移整个平台的费用也不少。很多计算机领域的技术标准都由外国人制定,我们处于被动,所以总是被人牵着鼻子走。至于中文编程,cpu的一些核心技术和相关标准全是国外发明制造的),中文编程即使不是其他语言的汉化,他的执行效率也不可能高于英文编程语言,关键字用英文还是中文没有本质区别,中文的优点没有在编程中体现。至于为什么很多人反对中文编程,大概是因为前几年的“汉芯”,“麒麟”事件使人们对搞这方面研究不信任。我的看法是中文编程有他的适用范围,但靠他来振兴国家IT实力,不太现实。
编程最重要的是算法,还要读懂操作平台中的一些文件,而这些文件是用英文写的
所以即使有了汉语编程编程也是很难的
5. 熟练使用文学编程是怎样一番体验
这个是《Coders at Work》作者的一篇 essay。
Code is not literature
他访问过很多成名的程序员。他对系统的阅读 code 持否定意见。我对「系统的」阅读的定义是,本身没有任何目的,希望像消费一本小说那样消费一个 code base,期待自动的获得知识。虽然我花过很多时间读 Linux kernel 和 Lua,但是每次读一定要给自己定一些探索小问题的目标。我觉得 literate program 并不是为了工程上的,以扩展原有系统为具体目的的阅读代码准备的,而是希望 code 成为能够被「系统化」(文学化)阅读的东西。这个我持否定态度
6. 熟练使用文学编程是怎样一番体验
俺知道 文学化编程是在 2005 年,开始使用 Leo 尝试进行 文学化编程则是到了 2006 年, 之后,一直尽可能的使用 Leo 作为主要的编辑/编程环境; 其它包含 Emacs/Vim 中都有 文学化编程扩展, 不过, 俺一直没有用起来,所以,俺的体验比较偏激; 在 Leo 中俺进行过各种语言的编程包含: - php - css/js - xslt - python - golang - ... # 总体上 对比各种 IDE 或是 subl 中的编程体验, 简单的说: > 随心小累 ## 随心 - 目录/文件/模块/函式/代码块/片段/配置/测试数据.... 一切都在一个界面中可以快速编辑 - 保存到哪儿也只是一行声明的事儿 - 所有代码的 提纲结构, 就是我对程序的理解, 完全无视所有语法结构,可以任意随手设定 - 无论何时回到思考场景,上次对程序的思考进展都以 提纲节点树的形式存在着 - 同时, "混出" 的代码又完全干净, 标准的代码文本, 不影响任何环境中的运行 ## 小累 - Leo 是 纯 Python 编写的编辑环境, 加载/迁移都有点小麻烦 - 而且没有很多现代 IDE 的各种自动化功能, 就连语法颜色也无法 0配置的完美表达各种语法单元 - 最累的是和团队其它成员协同时, 其它人都是线性编辑环境,只有俺是多维表述的 文学化编程
7. 熟练使用文学编程是怎样一番体验
文学编程, 我认为是对文学语法及其结构的一种解析。 听过有个数学系的人,对红楼梦很喜欢,他对红楼梦进行数学建模,解析词法和结构,出了一个论文判断红的前八十回与后面是否出自同一个人之手。热极一时。 后来他怎么样了?听说他被聘请到了