Chinaunix

标题: 【有奖讨论】如何用Python实现快捷编程管理Linux日常进程? [打印本页]

作者: benjamindu_1234    时间: 2016-05-31 10:58
标题: 【有奖讨论】如何用Python实现快捷编程管理Linux日常进程?
话题背景:

众所周知,Python是一种简单易学功能强大的编程语言,在世界众多热门编程语言中排名第三位,第一是Java,第二是C++,第三是Python,第四是PHP,Python能在大多数平台的各种应用中都能够流畅运行,特别适用于快速的应用程序开发,google公司就曾大量使用了Python脚本,python拥有一个功能强大的内置函数库,方便随时下载第三方扩展工具,基本上可以通java的JDK相媲美。Python特别实用于系统进程的日常管理与内核调优。

Python阐述难题与调优排错

以上是对本人对Python轻量级编程总体框架的阐述总览,So,就让全知全能的CU群友们来为大家排难解惑,畅谈深研吧!不过在此之前,请允许我发起几个围绕Python快捷编程的核心话题,see you again of the page down for me


思考如下问题:

1:关于日常工作中Python的使用现状,以及自己对Python的了解层次与接触程度?
2:使用Python处理日常事务过程中,遇到的BUG问题与执行自动化多线程多进程系统任务的具体过程与相关流程?
3:关于Python与其它各类热门编程语言之间的优胜劣汰地市场抉择与组合调配?如C++,Java,Php,与Python之间如何协同工作,嫁接封装套接口与快速切换平台?相互调用内置库函数集与第三方辅助工具和插件互动?
4:关于Python项目开发跨平台实施方案的全过程与排难解惑之细节和实操程度?
5:关于python快速编程的极致调优,以及深入Python函数内置类库与动态扩展第三方内置库和工具集?如何升华Python轻量级编程应用与跨接,将其加入综合性汇编以及融入社会化编程体系?


活动时间:2016年5月31日—7月1日


奖励设置:
活动结束后,我们将会选取5个亮点回复,送《Python科学计算(第2版)》图书一本。



作者: 张若愚   
出版社:清华大学出版社
ISBN:9787302426585
上架时间:2016-5-6
出版日期:2016 年4月
开本:16开
页码:716
版次:2-1
所属分类:计算机


内容简介:张若愚所*的《Python科学计算(附光盘第2版) 》详细介绍Python科学计算中*常用的扩展库NumPy 、SciPy、matplotlib、Pandas、SymPy、TTK、 Mayavi、OpenCV、Cython,涉及数值计算、界面制作、三维可视化、图像处理、提高运算效率等多方面的内容。所附光盘中包含所有章节的Notebook以及便携式运行环境WinPython,以方便读者运行书中所有实例。

试读样章:http://wenku.it168.com/d_001679407.shtml



作者: benjamindu_1234    时间: 2016-05-31 13:54
Python轻量级快捷编程之排难解惑与升华调优(探讨型博文)-benjamindu_1234-ChinaUnix博客http://blog.chinaunix.net/uid-31342451-id-5736644.html
作者: mswsg    时间: 2016-05-31 15:14
1:关于日常工作中Python的使用现状,以及自己对Python的了解层次与接触程度?
  1. 生物信息专业,由于需要,开始接触python仅仅3个月不到,python在我们专业中最常用的是拿来写脚本,链接生物数据流程分析流程,在数据分析(统计分析),做图方面de需求,python都可以满足,例如NumPy 、SciPy、matplotlib、Pandas。
  2.   
复制代码
2:使用Python处理日常事务过程中,遇到的BUG问题与执行自动化多线程多进程系统任务的具体过程与相关流程?
  1. 这个目前接触较少,查阅过一些资料python在多线程,多进程中的效率不是很高(不一定准确)。但是随着数据量的增大,在数据处理时应该考虑多核处理的可能性
复制代码
3:关于Python与其它各类热门编程语言之间的优胜劣汰地市场抉择与组合调配?如C++,Java,Php,与Python之间如何协同工作,嫁接封装套接口与快速切换平台?相互调用内置库函数集与第三方辅助工具和插件互动?
  1. 对不起,这个几乎还没接触过,百度拷贝的也没意思,编程语言我也只接触过python,我就不发表了。
复制代码
4:关于Python项目开发跨平台实施方案的全过程与排难解惑之细节和实操程度?
  1. 再次对不起,仍然接触较少
复制代码
5:关于python快速编程的极致调优,以及深入Python函数内置类库与动态扩展第三方内置库和工具集?如何升华Python轻量级编程应用与跨接,将其加入综合性汇编以及融入社会化编程体系?
  1. python的执行效率是个大问题,在优化的同时,也希望以后多使用多线程,多进程的处理方式。
复制代码

作者: benjamindu_1234    时间: 2016-05-31 15:48
回复 3# mswsg
版主师兄,其实Python更多的时候是被当成,一个既查即用的实用性辅助shell工具。比如用python实现交互式shell脚本编译,再用matlab推演建模,再转用c++封装套接口,达到跨平台跨环境,协调工作的随时随地抽调穿插的目的,以求实现github全民编程环节的完整。至于python的全范围应用嘛,本人实在是研究的太少,只能笼统的归纳为,辅助性,快捷性,简单性,实用性,开放性,是Python轻量化编程的价值与风格。还望师兄不吝赐教

   
作者: jackie_ikernel    时间: 2016-06-01 09:04
简单说说自己对python以下问题的看法,本人c/c++跨平台开发程序员;
1:关于日常工作中Python的使用现状,以及自己对Python的了解层次与接触程度?
  1. python水平初级,看过两本书;使用python实现了项目中的一些脚本,如远程下载和更新部分程序;利用wxPython实现了项目中的简单Demo及基本的网络通信测试app;使用scons基于python的构建系统;平时时常写点python程序;
复制代码
2:使用Python处理日常事务过程中,遇到的BUG问题与执行自动化多线程多进程系统任务的具体过程与相关流程?
  1. 使用的比较简单;大都参照工程代码或标准代码实现;几个线程或进程;没有搞得太复杂;
复制代码
3:关于Python与其它各类热门编程语言之间的优胜劣汰地市场抉择与组合调配?如C++,Java,Php,与Python之间如何协同工作,嫁接封装套接口与快速切换平台?相互调用内置库函数集与第三方辅助工具和插件互动?
  1. 自己的观点;python上手容易;精通也很难;如果通盘用python实现,随着工程规模变大,如果level没达到专家水平,那到处会是坑,且都不知如何填,因为各类强大的libs满天飞;所以初学者通盘用python很容易堆出大量质量底下的代码;那么如何取舍python呢?恩上手容易;从google工程师开源的各类项目中可以看到,python的比重非常大,如果你够牛,完全可以全盘使用python,除了那些底层非得用c/c++实现的代码除外;所以我自己是将python当做frontend脚本语言,backend使用c++;当前一直在修炼python;
复制代码
4:关于Python项目开发跨平台实施方案的全过程与排难解惑之细节和实操程度?
  1. python跨平台实施方案;经验不够;谈谈我使用scons(基于python的构建系统,类似cmake)的体验;当前存在2.x和3.x的兼容问题;库的路径及解析的问题;基本问题不大;
复制代码
5:关于python快速编程的极致调优,以及深入Python函数内置类库与动态扩展第三方内置库和工具集?如何升华Python轻量级编程应用与跨接,将其加入综合性汇编以及融入社会化编程体系?
  1. 毋庸置疑python的库太强大,没有找不到的,只有你想不到的;当然c++一样也有许多成熟的第三法库,以及日益强大的标准库;
  2. 另外python的文档和社区也非常成熟和强大,感觉没有python不在的地方;啥都能干;尤其在一些科研领域;高效的实验室呀,人工智能呀;等等;
复制代码
总之,python肯定是很牛逼的很成熟的一门脚本语言;其类库和文档极其丰富;社区也很成熟;当前我认为和python竞争较激烈的是ruby;
虽然我一直坚持将python作为c++前端的理念;但ruby真的真的很吸引人.

作者: niao5929    时间: 2016-06-01 09:52
学习程序设计语言就要学习自由开源版的语言。从GCC到PYTHON到GO。它们的一切都可见。这是最重要的。
作者: 开源将军    时间: 2016-06-01 10:26
果然是如此,开源之核心,就是互通交流,促进开源软件的进步和推广
作者: jackie_ikernel    时间: 2016-06-01 11:27
恩,opensource是软件的未来;
工作之余抽空看完了大牛的《Python科学计算(第2版)》的样章;其中重点看了前面一半到IPython;
  1. 感觉科学计算的世界真奇妙;Jupyter Notebook的重要性不言而喻;介绍的每个科学计算类库不仅专业实用,且充满诱惑力;让你不自觉的想说[这就是你想要的];或许这就是开源的魅力所在;每次专研c++的boost各类库代码我也是这种感觉;
复制代码
好吧,《Python科学计算(第2版)》这么牛的书,每位对科学计算感兴趣的同学,或用到python的科研人员幸福了~
作者: laputa73    时间: 2016-06-01 11:34
本帖最后由 laputa73 于 2016-06-01 11:37 编辑

1:关于日常工作中Python的使用现状,以及自己对Python的了解层次与接触程度?
在我看来,python就是another perl。功能,用途都差不多。
只不过之前由于一些商业公司的推动,python变得更加流行。
很多api也都python上来。所以为了方便,也顺应潮流呗。

2:使用Python处理日常事务过程中,遇到的BUG问题与执行自动化多线程多进程系统任务的具体过程与相关流程?
脚本语言,不要考虑多线程了。进程(process)+协程(gevent)才是王道
系统管理,有ansible代劳,基本不用自己写。
一些采集,爬虫类的任务,gevent还是可以胜任的。

3:关于Python与其它各类热门编程语言之间的优胜劣汰地市场抉择与组合调配?如C++,Java,Php,与Python之间如何协同工作,嫁接封装套接口与快速切换平台?相互调用内置库函数集与第三方辅助工具和插件互动?
一般而言,REST搞定一切。所有语言做后端都是一样的。前端选流行的,容易招人的。高性能的地方。上go呗。

4:关于Python项目开发跨平台实施方案的全过程与排难解惑之细节和实操程度?
python本身跨平台,封装为可执行程序也比perl容易,有字节码,有virtualenv.还是很方便的。
用到第三方包的时候会麻烦点。不过这个其他语言也都一样的。我们基本都统一linux,少数windows, 没有遇到很多问题。

5:关于python快速编程的极致调优,以及深入Python函数内置类库与动态扩展第三方内置库和工具集?如何升华Python轻量级编程应用与跨接,将其加入综合性汇编以及融入社会化编程体系?
这个属于“中国字”系列,太高大上了?



作者: liion631818    时间: 2016-06-01 13:21
python新手,正在学习
作者: lyhabc    时间: 2016-06-01 20:14
1:关于日常工作中Python的使用现状,以及自己对Python的了解层次与接触程度?
还没开始学
2:使用Python处理日常事务过程中,遇到的BUG问题与执行自动化多线程多进程系统任务的具体过程与相关流程?
3:关于Python与其它各类热门编程语言之间的优胜劣汰地市场抉择与组合调配?如C++,Java,Php,与Python之间如何协同工作,嫁接封装套接口与快速切换平台?相互调用内置库函数集与第三方辅助工具和插件互动?
4:关于Python项目开发跨平台实施方案的全过程与排难解惑之细节和实操程度?
5:关于python快速编程的极致调优,以及深入Python函数内置类库与动态扩展第三方内置库和工具集?如何升华Python轻量级编程应用与跨接,将其加入综合性汇编以及融入社会化编程体系?
作者: jieforest    时间: 2016-06-02 08:51
支持一个。。
作者: HyryStudio    时间: 2016-06-02 19:35
我是《Python科学计算》的作者,先回答一下楼主的问题:

1:关于日常工作中Python的使用现状,以及自己对Python的了解层次与接触程度?

工作中我积极使用Python,能用Python的尽量用,看似用不上的地方也想办法用上。例如最近有一个DSP嵌入式开发的项目,直接用Python当然是用不上。但是偶然发现能分析编译输出的ELF格式文件的扩展库,于是在此扩展库的基础之上,实现了一个简易的实时调试环境,这样板子不需要与TI的JTAG仿真器链接,就能查看任意变量的内容。

2:使用Python处理日常事务过程中,遇到的BUG问题与执行自动化多线程多进程系统任务的具体过程与相关流程?

调试BUG还是用PyCharm方便。我基本不用Python的多线程,可以用协程或多进程。多进程之间通信我仿照Jupyter Notebook使用ZeroMQ。

3:关于Python与其它各类热门编程语言之间的优胜劣汰地市场抉择与组合调配?如C++,Java,Php,与Python之间如何协同工作,嫁接封装套接口与快速切换平台?相互调用内置库函数集与第三方辅助工具和插件互动?

我使用Cython,ctypes或者cffi调用C/C++

4:关于Python项目开发跨平台实施方案的全过程与排难解惑之细节和实操程度?

我没有做过跨平台的开发,不过《Python科学计算》的部分内容是在一个ChromeBook笔记本之上编写的,没有发现书中介绍的扩展库的任何跨平台问题。

5:关于python快速编程的极致调优,以及深入Python函数内置类库与动态扩展第三方内置库和工具集?如何升华Python轻量级编程应用与跨接,将其加入综合性汇编以及融入社会化编程体系?

提高运算速度我用的最多的是Cython,《Python科学计算》中有一整章介绍如何使用Cython。

-----------

《Python科学计算》这本书完全使用IPython Notebook编写,然后使用nbconvert + pandoc + 自己编写的工具将Notebook转换为docx文件。下面是相关的两个github项目(由于我没有发链接的权限,请自行搜索):

jupyter_extensions:  Jupyter Notebook的扩展插件,使用Python编写,再使用py2js转换为Javascript

nbmanager: 将Notebook转换为docx的工具链批处理

这两个项目放在github上,我的用户名是ruoyu0088。

Python世界的发展实在太快,目前IPython Notebook已经改为Jupyter Notebook。nbmanager不知道是否还能正常使用,等有时间整理整理为编写第三版做准备。
作者: wait_rabbit    时间: 2016-06-03 10:09

居然还在用 2.7,无爱。

作者其实就是偷懒,懒得更新。
作者: benjamindu_1234    时间: 2016-06-04 05:33
wait_rabbit 发表于 2016-06-03 10:09:55

居然还在用 2.7,无爱。

作者其实就是偷懒,懒得更新。

毕竟用的久的版本,稳定性较高,应用层面也相对要广,方便推广与普及
作者: jlmmmm    时间: 2016-06-04 23:39
我是一个网络管理人员对python主要的目的是为了工作方便,对python的平台开发没有过多的接触,就我个人的所学一些自己的看法,如有什么不对的地方请指正。
1:关于日常工作中Python的使用现状,以及自己对Python的了解层次与接触程度?
python 是一个跨平台的脚本语言,所以写了一些小程序既可以在windows上使用也可以在Linux/UNIX上使用,很方便,编写的程序一般是文本处理,脚本运行,进程监控,网络测试等。

2:使用Python处理日常事务过程中,遇到的BUG问题与执行自动化多线程多进程系统任务的具体过程与相关流程?
python 已经定位为脚本语言,那就和shell、php一样,不要考虑过效率上的东西,尽可能去调用所包含的库做简单的过程处理、检查、监控等,

3:关于Python与其它各类热门编程语言之间的优胜劣汰地市场抉择与组合调配?如C++,Java,Php,与Python之间如何协同工作,嫁接封装套接口与快速切换平台?相互调用内置库函数集与第三方辅助工具和插件互动?
在Linux/UNIX下我个人倾向C++和python+php协同工作,C++可以开发各类的接口,python调用高效的接口程序完成后续的工作,最后用php展示。
在Windows平台下选择比较多,目的是快速开发实现功能,性能和linux没有办法比,先把模型做处理,后期优化。

4:关于Python项目开发跨平台实施方案的全过程与排难解惑之细节和实操程度?
Python是脚本语言,跨平台的主要又语言本身决定,这个是他的优势,像C++不同的编译软件都会有不同的结果。对于python来说只要语言版本不做过大的调整,不用独有的函数基本无大问题。


5:关于python快速编程的极致调优,以及深入Python函数内置类库与动态扩展第三方内置库和工具集?如何升华Python轻量级编程应用与跨接,将其加入综合性汇编以及融入社会化编程体系?

没有涉及这个领域,对我来说就是一个工具,能提高工作效率就用,如何有更好更方便的就会换一种不变的估计只有C/C++。

作者: 开源将军    时间: 2016-06-06 00:00
回复 13# HyryStudio
python科学计算的作者果然是位大行家,能解开我心中关于python核心编程的大部分迷惑和困局,关于python跨平台开发的提问,主要是为了公司业务的发展需要,我以前也没有做过python跨平台开发,但从c++切换到java以及c#直接的转译和跨编,还是经历过的几次的,python跨平台开发,的确还是个未知数,其实我想要在论坛里面找到哪位名师道友,然后再模仿学习融合创新。目前正调转目标去OSchina看看,再去OpenSource取经。以求实现简洁化,轻量化,跨平台,多领域,全范围,Python核心编程。顺便说下,开源将军,开源大将军,benjamindu_1234都是本人,我05年和08年的CU帐号,全都没有找回。只能建个小号刷下存在感,还望大师名数宿,多多包涵不要介意,谢谢!
   
作者: _R__    时间: 2016-06-06 09:15
因为现从事运维方面工作, 所以从运维方面去尝试解答下面问题:
1:关于日常工作中Python的使用现状,以及自己对Python的了解层次与接触程度?
        答:我们现在已经主要是用python写的脚本做管理服务器和线上的业务, 一般是用于多进程/多线程, 还有Web平台的开发, socket后续才会考虑, 在底层简单的功能, 才会使用shell脚本完成.
        我对python了解层次:不好说,因为是15年10月份才接触, 不过因为自身喜欢原因,所以花了时间去专研,现在对于常用的库都比较熟悉, 一些奇淫技巧也有掌握, 现阶段在往网络编程的和python源码的方向去前进
2:使用Python处理日常事务过程中,遇到的BUG问题与执行自动化多线程多进程系统任务的具体过程与相关流程?
        答:遇到的BUG最多的就是, 局部变量未定义,举个例子
  1. a = 3

  2. def b():
  3.     if 1 :
  4.         a = 4
  5.     print a
  6. def c():
  7.     if 0 :
  8.         a = 4
  9.     print a

  10. b()
  11. c()
  12. 结果就是 c方法会报错, 因为如果变量初始化在逻辑判断只有真的时候,才会真正初始化
复制代码
自动化多线程多进程系统: 我们一般是用线程池/进程池去控制线程/进程的创建和销毁, 具体的使用过程可以自行看文档,相关的流程其实是要针对具体的业务来分析,不能一概而论,如果像我们这种,我们只需要多进程去批量执行任务就好,我们只关心在并发的时候, 进程的返回结果能否准确的反映任务的执行结果
3,4,5因为我们这边并没这方面的考虑, 所以不能回复题主的问题
作者: HyryStudio    时间: 2016-06-06 21:49
回复 18# _R__

你所说的BUG与Python的局域变量的规则有关,详见(没有发URL的权限):

hyry.dip.jp/tech/book/page.html/python/variable_scope_global.html

不过这种BUG可以通过IDE的提示解决,例如PyCharm。
作者: bfmo    时间: 2016-06-09 12:32
1:关于日常工作中Python的使用现状,以及自己对Python的了解层次与接触程度?
主要用于网络爬虫抓取方面,数据处理,数据分析,目前准备开发一个可视化调度系统,我对celery并行分布式机制比较感兴趣,我在本地搭建了一个测试环境,目前正在探索中,请大牛指点下,这里面不知道有多少坑要踩,
作者: 开源将军    时间: 2016-06-09 23:45
@bfmo,都07年的ID号了,要相信自己你就是大牛,可视化调度系统和并行开发机制,据我所知恐怕C++和Java要比Python更适合一些吧!但是Python简洁,轻快,易调用,喜融合,应该能满足你的需求,我是小白,所以以上言论,仅供参考。
作者: Hadron74    时间: 2016-08-23 09:53
1:关于日常工作中Python的使用现状,以及自己对Python的了解层次与接触程度?
从事生物信息行业,主要工作语言是Python,主要用它来进行数据处理、分析、绘图,网站建设,系统管理,胶合各种应用搭建pipeline.


2:使用Python处理日常事务过程中,遇到的BUG问题与执行自动化多线程多进程系统任务的具体过程与相关流程?
日常事务管理中,Python还是比较好用的,基本语言中没有遇到BUG,有些第三方包有些小问题,大多是系统环境配置问题,改改配置脚本就可以了,不行就谷歌**加联系作者,一般都能搞定。

多线程程序和多进程用的都不多,我的任务主要是因为pipeline搭建,主要用脚本连应用,并行化实在任务系统(OGE)中实现的。大数据系统,尝试过pySpark和HIVE的结合,所以Python本身的并行化就没必要了。


3:关于Python与其它各类热门编程语言之间的优胜劣汰地市场抉择与组合调配?如C++,Java,Php,与Python之间如何协同工作,嫁接封装套接口与快速切换平台?相互调用内置库函数集与第三方辅助工具和插件互动?

Python是易学易用的一门语言,比生物信息中另一种语言PERL要好很多。PHP用得不多,感觉它主要是做网站好,数据分析上很少人用。Java强大的类库支持是没法说的,但Python在粘合应用上功能似乎更好些。C++作为算法开发基础应用上有绝对速度优势。

在协同工作上,用过pyperl (可惜没有支持了)
Jython, Jpype 简单使用,经验不多
Pyrex也似乎过时了



4:关于Python项目开发跨平台实施方案的全过程与排难解惑之细节和实操程度?
网络项目一直在Windows上开发,Linux上发布,没有发现移植性问题,主要是一些配置不同,难度不大。


5:关于python快速编程的极致调优,以及深入Python函数内置类库与动态扩展第三方内置库和工具集?如何升华Python轻量级编程应用与跨接,将其加入综合性汇编以及融入社会化编程体系?
抱歉,工作中没有遇到类似问题,不便回答。


谢谢关注!
作者: daocheng11    时间: 2018-02-09 14:03






欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2