国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > python和shell像吗

python和shell像吗

Python shell

头像

爱喝马黛茶的安东尼

2019-10-25 16:37:033356浏览 · 0收藏 · 0评论

python和shell都是我们经常使用的脚本语言,平时python主要用来写一些小型的任务,shell则在使用liunx系统部署任务的时候用的比较多,由于两者有一些相似之处,时间长了容易混淆,所以在这里给大家介绍一下两者的用法区别。

变量

python定义和使用只需要使用变量名,例如:

var=“hello”
print var
# hello

shell定义变量只需要变量名,而使用变量的值则需要加$符号,例如:

var="hello"
echo $var
# hello

数组的定义

python中没有数组的概念,但是有list,tuple,dict等可以代替其功能,声明一个list并使用其中的一个元素,如下:

numbers=[1,2,3,4,5]
print numbers[0]
# 1

shell中只有一维数组,其声明和使用方法,如下:

numbers=(1 2 3 4 5)
print ${numbers[0]}
# 1
#返回所有的值用
print ${numbers[*]}
# 1 2 3 4 5

注释

python和shell都可以是用#号添加单行注释,python可以使用”’注释”’添加多行注释。

相关推荐:《Python基础教程

逻辑判断

条件的定义

在python中,除了所有的空值被认为False外所有的值都被解释为真True,这里的空值包括:None,0,”“,(),{},[]和False,下面是例子。

其他的由比较运算符进行比较支持,其中比较特殊的操作符有:

* x is y x和y是同一个对象

* x is not y

* x in y x在y集合中

* x not in y

逻辑预算法用and,or,not.

而shell的理念大不相同,它使用test命令来进行条件测试,它通常写成[ condition ]的形式,注意方括号两边都要有空格,它支持三类测试:

* 数值比较,需要用-eq,-gt来代替==,>

* 字符串比较,可以用=,需要用-n之类的短命令,比如-n str来判定str长度是否非零

* 文件比较,需要用短命令,例如-e file判断文件是否存在

逻辑运算符&&,||来连接不同的[ condition ]

另外,高级的数学表达式推荐使用(( expression ))逻辑判定,可以使用自增++,位移运算符<<,位运算符&,逻辑与&&等等

高级的字符串判定使用[[ expression ]]逻辑判定,可以用类似于正则表达式如[[ $teststr== r* ]]判定以r开头的字符串

shell的数值运算推荐使用$[expression]的方式计算,浮点数的计算使用echo “expression”| bc的方式获取计算值

if else

python中的if else使用方式如下,条件语句后加冒号,并且以缩进划分语句块

if condition:
    statement
elif condition:
    statement
else:
    statement

shell中则不同,其if else使用方式如下,它使用then和elseif或fi来界定语句块,理论上不需要缩进

if [ condtion ]
then
 statement
elif [condtion]
then
 statement
else
 statement
fi

for循环

python的for循环使用如下,仍然用缩进划分语句块

for item in sequence:
    statement

shell中for的使用方式类似

for item in list
do
statement
done

其中shell取item的分隔符全局变量为IFS(internal field separator),其默认值为空格,制表符,换行符,所以如果需要按行处理而忽略空格的话需要改变IFS的值。

另外shell还支持c语言形式的for循环,它使用双小括号来完成,形式如下:

for (( i=1; i<=10;i++))
do
 statement
done

while循环

python的while写法,如下:

while condition:
    statement

shell的while写法,如下:

while [ conditon ]
do
 statement
done

异常处理

python的异常处理方式

try:
    statement
except:
    statement
finally:
    finalStatement

shell中没有相应的异常处理机制,只有每条命名的错误输出描述符2,可以通过2>&1将错误输出重定向到标准输出

文件操作

python使用open函数,其有读写模式有只读r,只写w,添加a

myfile=open("filename","r")
myfile.readlines()
myfile.close()
with open("finename","w") as myfile:
    myfile.write("line\n")

shell读取文件的内容使用命令来读取,然后使用管道或者重定向进行输入处理,常用的命令有:

1. cat filename 读取文件的全部内容

2. tail -n 2 filename读取尾两行

3. head -n 2 filename读取前两行

一个经典的问题,读取一个文件中的每一行做处理,使用python很简单。

with open("filename","r") as myfile:
    for line in myfile.readlines():
        print line

使用shell

cat filename|while read line
do
echo $line
done
#或者
IFS='\n'
for line in `cat  filename`
do
echo $line
done

函数

python的函数如下形式:

def functionname(params):
    '函数文档'
    statement
    return value

其中函数文档可以通过functionname.doc获得

shell中函数形式

function functionname {
    commands
    return value
}

使用变量获取返回值,参数通过函数functionname param1 param2的方式传递,通过$1,$2的方式取出第一第二个参数,$#为参数数量,$*为所有参数。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

东北娘们国语版免费播放| 儿子双飞妈妈和女儿的小说| 狗和人胶配方20分钟一| 国产精品久久久久久久久精品动漫| 乱亲H女乱秽XXXX| 国产X7X7X7X7X7 性价..| 爸老师巅峰电影在线观看| 星空无限MV在线观看免费| 中文在线字幕观看电视剧| 窝窝视频网| 老师脱了内裤让我进去| 丰裕从满5| 《完美邻居》电影免要观看| 九九影视在线观看免费最新电视剧| 十九岁暴躁少女CSGO免费观看| 健身教练压腿压进去会怎么样| 55岁女人高潮后几天能恢复| 王丽娟一夜被躁五次 | 公翁挺进苏玥的小洑视频| 《不戴套瑜伽教练3》| 女生的全身照曝光| 樱花视频在线观看免费高清电视剧 | 无耻家庭凯伦跟妈妈是哪一集| 女子赤身跳钢管舞视频| 边做边流奶水的人妻| 《玉尺经》| 《帐篷里的秘密》第一季| 免费的黄冈网站有哪些平台| JK制服| 他扯开我的奶罩一摸就流水| 双飞儿媳妇和她闺蜜免费阅读| 四川少女B站免费入口| 偷偷在线观看免费高清电视剧推荐| 穿真空短裙挤公交会被赶走吗| 日本大片又大又好看的PPT| 《艳乳欲乱2 》动漫| 欧美大片| 少女与船夫1977经典版歌曲| 宝可梦朱紫图鉴| 温柔的房东夫人免费观看电视剧| T大校花沉浮录续集TXT