由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 用python生成傻shell脚本如何?
相关主题
要不要学习 scripting languages such as Python?关于shell script的一个问题
现在哪些script最流行?怎样运行一个 Python script?
关于perl和linux shell script的书最经典有哪些? (转载)Shell script 问题
把python当成通用script来学,哪些module需要熟练?shell script question
有没有这样的JS工具?你认为ubuntu下面写script,用perl还是python更好? (转载)
关于如何检测服务器job完成的问题python question
scala 适合写script什么的 我这个理解对么?Help with a simple c-shell script.
[转载] A shell script question. :)Python的script的兼容问题
相关话题的讨论汇总
话题: shell话题: python话题: 脚本话题: sh话题: 生成
进入Programming版参与讨论
1 (共1页)
n******7
发帖数: 12463
1
最近的工作需要很多linux下面的文件操作
还要跑一些pipeline
这类工作最自然的就是用shell脚本来做
也有很多别人留下的shell script要维护
但是我一直感觉shell脚本做些简单的东西非常不错
一旦涉及变量了,就十分笨拙,更不说library支持了
另外shell要涉及一堆小工具,随便用用还好,想用深入就头疼了
一来各种工具直接没有统一标准
比如regex,grep/sed/vim 里面都不一样,跟python里面又不一样,混着用很容易很容
易出错
二来很多语法很不直觉,怪异
比如awk,早年仔细学习过,几年年没用就忘光了,只能用些最简单的功能
perl我也很多年没用了,但是捡起来还能很快写些东西
这样的结果就是容易出错
前天用之前大妈写的script就出现了奇怪的结果,费了半天劲才找到問題
我准备特别简单的功能直接用shell script
稍微复杂一点的就用python来做,或者直接生成最直白的shell script
基本不用任何变量,各种工具只用最常用的功能
比如要做某个操作n次,每次参数不同,我就用python生成一个n行的sh,每行都是非常
平白shell 操作
有这样用的吗?
l*********o
发帖数: 3091
2
我也这么用。用python写起来很快,很好debug和维护。
n******7
发帖数: 12463
3
谢谢
我也感觉这样debug和维护会容易些

【在 l*********o 的大作中提到】
: 我也这么用。用python写起来很快,很好debug和维护。
n******7
发帖数: 12463
4
这个帖子说的不错,还给了一些python包
I certainly find that the shell is very natural for simple scripts but
rapidly becomes awful for larger projects, or projects with more complex
data structures, where python would shine. The thing is that you rarely have
motivation to do the complete rewrite, so commands go on growing as shell
scripts long afte they should have been translated to something else.
One way of easing the pain of using scripts of intermediate complexity is to
use a library that imports bash-like functionality to python. There are
several of these: Plumbum: http://tomerfiliba.com/blog/Plum... - Sh: https://github.com/amoffat/sh - Sarge: https://bitbucket.org/vinay.saji...
Mind you, as Doug Hellman points out, you can get a long way with just the
standard library's pipes module: http://blog.doughellmann.com/200...
n******7
发帖数: 12463
5
另外我感觉python调用系统命令比较麻烦,又有几种方式,os.system, subprocess之
类的
比perl差不少
n******g
发帖数: 2201
6
yes, like this:
file = open('run_bash.sh', 'w')
file.write('bioawk --option a ..')
file.write('python run_bash.sh')
file.close()

【在 n******7 的大作中提到】
: 最近的工作需要很多linux下面的文件操作
: 还要跑一些pipeline
: 这类工作最自然的就是用shell脚本来做
: 也有很多别人留下的shell script要维护
: 但是我一直感觉shell脚本做些简单的东西非常不错
: 一旦涉及变量了,就十分笨拙,更不说library支持了
: 另外shell要涉及一堆小工具,随便用用还好,想用深入就头疼了
: 一来各种工具直接没有统一标准
: 比如regex,grep/sed/vim 里面都不一样,跟python里面又不一样,混着用很容易很容
: 易出错

p***o
发帖数: 1252
7
有个叫sh的module,pip install sh就可以用了,何必再生成shell脚本。

【在 n******7 的大作中提到】
: 最近的工作需要很多linux下面的文件操作
: 还要跑一些pipeline
: 这类工作最自然的就是用shell脚本来做
: 也有很多别人留下的shell script要维护
: 但是我一直感觉shell脚本做些简单的东西非常不错
: 一旦涉及变量了,就十分笨拙,更不说library支持了
: 另外shell要涉及一堆小工具,随便用用还好,想用深入就头疼了
: 一来各种工具直接没有统一标准
: 比如regex,grep/sed/vim 里面都不一样,跟python里面又不一样,混着用很容易很容
: 易出错

n******7
发帖数: 12463
8
恩,发现用了shellpy就nb了
https://github.com/lamerman/shellpy
另外pythonpy也很不错
https://github.com/Russell91/pythonpy

【在 p***o 的大作中提到】
: 有个叫sh的module,pip install sh就可以用了,何必再生成shell脚本。
v*******e
发帖数: 11604
9
俺一直这么干的。
n*****2
发帖数: 133
10
试试 ez package
ez.ls() 直接返回 file list
pip install ez

【在 n******7 的大作中提到】
: 恩,发现用了shellpy就nb了
: https://github.com/lamerman/shellpy
: 另外pythonpy也很不错
: https://github.com/Russell91/pythonpy

d******e
发帖数: 2265
11
直接放弃shell好了。
python用generator,coroutine做pipeline,可读性好的多。

【在 n******7 的大作中提到】
: 最近的工作需要很多linux下面的文件操作
: 还要跑一些pipeline
: 这类工作最自然的就是用shell脚本来做
: 也有很多别人留下的shell script要维护
: 但是我一直感觉shell脚本做些简单的东西非常不错
: 一旦涉及变量了,就十分笨拙,更不说library支持了
: 另外shell要涉及一堆小工具,随便用用还好,想用深入就头疼了
: 一来各种工具直接没有统一标准
: 比如regex,grep/sed/vim 里面都不一样,跟python里面又不一样,混着用很容易很容
: 易出错

b****b
发帖数: 656
12
pip3 install sos
shell, Python, R,Ruby 等各种脚本一锅端。

【在 d******e 的大作中提到】
: 直接放弃shell好了。
: python用generator,coroutine做pipeline,可读性好的多。

n******7
发帖数: 12463
13
看来大家一致认为python靠普
就是推荐太多,我挨个弄一遍看看
1 (共1页)
进入Programming版参与讨论
相关主题
Python的script的兼容问题有没有这样的JS工具?
Perl/Python/.NET难道是搞网页的?关于如何检测服务器job完成的问题
花了一个小时学习了pythonscala 适合写script什么的 我这个理解对么?
Scripting language的几个问题[转载] A shell script question. :)
要不要学习 scripting languages such as Python?关于shell script的一个问题
现在哪些script最流行?怎样运行一个 Python script?
关于perl和linux shell script的书最经典有哪些? (转载)Shell script 问题
把python当成通用script来学,哪些module需要熟练?shell script question
相关话题的讨论汇总
话题: shell话题: python话题: 脚本话题: sh话题: 生成