栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python和shell常用语法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python和shell常用语法

python执行Linux命令
第一种
import os
os.system('ls')
第二种
import os
tmp = os.popen('ls *.py').readlines()
print(tmp)  # 返回列表

python变量赋值
x = 1
y = "hello world!"
a = [1, 2]
b = ('a', 'b')
c = {"foo": "bar"}

python打印
print

python拼接字符串
s1 = '我是'
s2 = '大帅比'
print(s1 + s2) # 我是大帅比

python循环
第一种
i=0
while i<5:
    print('hello world')
    i+=1
第二种
实现1-100的累加和
i=0
ret=0
while i<=100:#判断的条件
    ret+=i
    i+=1
print(f'1-100的累加和为{ret}')
第三种
str1='hello world'

for i in str1:
    print(i)
第四种
str1='hello world'

for i in str1:
    print(i)
else:
    print('程序结束')#程序正常执行结束之后执行的代码

python分隔符,例如split,strip
第一个
s.strip(x) 删除s字符串中开头、结尾处为x的序列字符
s.lstrip(x) 删除s字符串中开头处为x的序列字符
s.rstrip(x) 删除s字符串中结尾处为x的序列字符
第二个
按某一个字符分割,如‘.’
>>> str = ('www.google.com') 
>>> print str
www.google.com 
>>> str_split = str.split('.') 
>>> print str_split 
['www', 'google', 'com'] 
按某一个字符分割,且分割n次。如按‘.'分割1次
>>> str = ('www.google.com') 
>>> str_split = str.split('.',1) 
>>> print str_split 
['www', 'google.com'] 

python判断,加减乘除
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
a = 21
b = 10
c = 0
 
c = a + b
print "1 - c 的值为:", c
 
c = a - b
print "2 - c 的值为:", c 
 
c = a * b
print "3 - c 的值为:", c 
 
c = a / b
print "4 - c 的值为:", c 
 
c = a % b
print "5 - c 的值为:", c
 
# 修改变量 a 、b 、c
a = 2
b = 3
c = a**b 
print "6 - c 的值为:", c
 
a = 10
b = 5
c = a//b 
print "7 - c 的值为:", c
###########
if、type等
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
a = 21
b = 10
c = 0
 
if  a == b :
   print "1 - a 等于 b"
else:
   print "1 - a 不等于 b"
 
if  a != b :
   print "2 - a 不等于 b"
else:
   print "2 - a 等于 b"
 
if  a <> b :
   print "3 - a 不等于 b"
else:
   print "3 - a 等于 b"
 
if  a < b :
   print "4 - a 小于 b" 
else:
   print "4 - a 大于等于 b"
 
if  a > b :
   print "5 - a 大于 b"
else:
   print "5 - a 小于等于 b"
 
# 修改变量 a 和 b 的值
a = 5
b = 20
if  a <= b :
   print "6 - a 小于等于 b"
else:
   print "6 - a 大于  b"
 
if  b >= a :
   print "7 - b 大于等于 a"
else:
   print "7 - b 小于 a"

python读取文件,写入文件,获取文件大小
with open(file,'r/w/a') as f

python格式化输出
#格式化输出,格式化字符
name = '萝卜'    #字符串类型%s
age = 22     #int整型%d
num = 88.8   #浮点类型%f,默认六位小数
print('我的姓名:%s'%name)
print('我的年龄:%d'%age)
print('我的编号:%f'%num)
print('我的编号:%.2f'%num)  # .2f保留两位小数  .1f保留一位小数
 
运行结果:
我的姓名:萝卜
我的年龄:22
我的编号:88.800000
我的编号:88.80
##################
name = '萝卜'    #字符串类型%s
age = 22     #int整型%d
num = 88.8   #浮点类型%f,默认六位小数
print('我的姓名:{}'.format(name))
print('我的年龄:{}'.format(age))
print('我的姓名:',name)
print('我的年龄:',age)
 
运行结果:
我的姓名:萝卜
我的年龄:22
我的姓名: 萝卜
我的年龄: 22
###################
name = '萝卜'    #字符串类型%s
age = 22     #int整型%d
num = 88.8   #浮点类型%f,默认六位小数
print('我的姓名:{},我的年龄:%d'.format(name)%age)
print('我的姓名:{},我的年龄:{}'.format(name,age))
print('我的年龄:%s,我的编号:%d'%(name,num))
print('我的姓名:我的年龄:',name,age)
 
运行结果:
我的姓名:萝卜,我的年龄:22
我的姓名:萝卜,我的年龄:22
我的年龄:萝卜,我的编号:88
我的姓名:我的年龄: 萝卜 22

python字符串、数组、字典,追加、删除等
字符串
#!/usr/bin/python
 
var1 = 'Hello World!'
var2 = "Python Runoob"
 
print "var1[0]: ", var1[0]
print "var2[1:5]: ", var2[1:5]
######################
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
var1 = 'Hello World!'
 
print "输出 :- ", var1[:6] + 'Runoob!'
#####################
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
a = "Hello"
b = "Python"
 
print "a + b 输出结果:", a + b 
print "a * 2 输出结果:", a * 2 
print "a[1] 输出结果:", a[1] 
print "a[1:4] 输出结果:", a[1:4] 
 
if( "H" in a) :
    print "H 在变量 a 中" 
else :
    print "H 不在变量 a 中" 
 
if( "M" not in a) :
    print "M 不在变量 a 中" 
else :
    print "M 在变量 a 中"
 
print r'n'
print R'n'
#####################
#!/usr/bin/python

print "My name is %s and weight is %d kg!" % ('Zara', 21) 
##########################
列表
#!/usr/bin/python
 
list1 = ['physics', 'chemistry', 1997, 2000]
list2 = [1, 2, 3, 4, 5, 6, 7 ]
 
print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]
###################
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
list = []          ## 空列表
list.append('Google')   ## 使用 append() 添加元素
list.append('Runoob')
print list

######################
#!/usr/bin/python
 
list1 = ['physics', 'chemistry', 1997, 2000]
 
print list1
del list1[2]
print "After deleting value at index 2 : "
print list1
#####################
元组
#!/usr/bin/python
 
tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
 
print "tup1[0]: ", tup1[0]
print "tup2[1:5]: ", tup2[1:5]
###################
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
 
# 以下修改元组元素操作是非法的。
# tup1[0] = 100
 
# 创建一个新的元组
tup3 = tup1 + tup2
print tup3
##################
#!/usr/bin/python
 
tup = ('physics', 'chemistry', 1997, 2000)
 
print tup
del tup
print "After deleting tup : "
print tup
####################
字典
#!/usr/bin/python
 
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
print "tinydict['Name']: ", tinydict['Name']
print "tinydict['Age']: ", tinydict['Age']
################
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
tinydict['Age'] = 8 # 更新
tinydict['School'] = "RUNOOB" # 添加
 
 
print "tinydict['Age']: ", tinydict['Age']
print "tinydict['School']: ", tinydict['School']
####################
#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
tinydict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
 
del tinydict['Name']  # 删除键是'Name'的条目
tinydict.clear()      # 清空字典所有条目
del tinydict          # 删除字典
 
print "tinydict['Age']: ", tinydict['Age'] 
print "tinydict['School']: ", tinydict['School']

@@@@@@@@@@@@@@@@@@

@@@@@@@@@@@@@@@@@@

shell执行Linux命令
cmd=`curl -X PUT
  https://xx/xxx
  -H "Authorization: xx"
  -H "CustomHeader: $1" -s`
echo "$cmd"

shell量赋值
第一种
currentdir=`pwd`  
echo $currentdir
第二种
#!/bin/bash
 
ls *.sh >execfile
while read LINE
do
chmod a+x $LINE
done

shell打印
echo

shell拼接字符串
#!/bin/bash

name="Shell"
url="http://c.biancheng.net/shell/"

str1=$name$url  #中间不能有空格
str2="$name $url"  #如果被双引号包围,那么中间可以有空格
str3=$name": "$url  #中间可以出现别的字符串
str4="$name: $url"  #这样写也可以
str5="${name}Script: ${url}index.html"  #这个时候需要给变量名加上大括号

echo $str1
echo $str2
echo $str3
echo $str4
echo $str5

shell 循环
第一种
#!/bin/bash

sum=0
for ((i=1;i<=100;i++))
#变量i取值,从1到100
do
  sum=$[$sum + $i]
done
  echo $sum
第二种
#!/bin/bash
a=0
for ((i=2; i<=100; i+=2))
do
a=$[a + $i]
done
echo "1到100偶数和为$a"
b=0
for ((i=1; i<=99; i+=2))
do
b=$[b + $i]
done
echo "1到100奇数和为$b"
第三种
#!/bin/bash

i=1
while [ $i -le  9 ]
do
  j=1
 while [ $j -le $i ]
 do
   sum=$[ $i * $j ]
   echo -n -e  "$i*$j=$sumt"
   let j++
 done
   let i++
 echo ""
done

shell分隔符 awk
第一种
#!/bin/bash
string="one,two,three,four,five"
array=(`echo $string | tr ',' ' '` ) 
 
for var in ${array[@]}
do
  echo $var
done

第二种
#!/bin/bash
str='this is a good question, hello shell, look at me, show your enthusiasm'
i=1
while((1==1))
do
  splitchar=`echo $str|cut -d "," -f$i`
  if [ "$splitchar" != "" ]
  then
      ((i++))
      echo $splitchar
  else
      break
  fi
done

shell判断,加减乘除
第一种
((i=$j+$k))    等价于 i=`expr $j + $k`
((i=$j-$k))     等价于   i=`expr $j -$k`
((i=$j*$k))     等价于   i=`expr $j *$k`
((i=$j/$k))     等价于   i=`expr $j /$k`

第二种
Let expressions 执行一个或多个表达式。表达式中的变量前不必有$.如果表达式中包含了空格或其他特殊字符,则必须引起来。

例:let “I = I + 1” 或 let i=i+1

第三种
t=$[t*3]                               #t乘以3。
s=$[s+t]                               #结果相加。
t=$[$1**2]                             #求x的平方。
t=$[t*4]                               #结果乘以4。
s=$[s+t]                               #结果相加。
t=`expr$2*5`                          #求5y的值。
s=$[s+t]                               #结果相加。
s=$[s+6]                               #结果加上6。
echo$s                                #输出结果。
echo$((a%b))                          #取余

第四种
#!/bin/bash
a=$1
b=$2
echo a+b=$(($a+$b))
echo a-b=$(($a-$b))
echo a*b=$(($a*$b))
echo a/b=$(($a/$b))
echo a%b=$(($a%$b))
echo a**b=$(($a**$b))

上面优化版

#!/bin/bash

echo $1=(($1)) 

echo $((3==4)) 不相等结果为0 相等结果为1

#/bin/bash

a=1

while [ $a -le 100 ] #((a<=100))

  do

    let sum=sum+a #((sum+=a))

    let a++             #((a++))

done

echo $sum

shell if判断
if [ ! -d "$doiido"]; then
  mkdir "$doiido"
fi
第二种
if [ ! -f "$doiido" ]; then
  touch "$doiido"
fi
第三种
if [ ! -x "$doiido"]; then
  mkdir "$doiido"
chmod +x "$doiido"
fi

shell type
第一种
$ type grep

grep is aliased to `grep --color=auto'

$ type -a grep

grep is aliased to `grep --color=auto'

grep is /usr/bin/grep

grep is /bin/grep

$ type -f grep

grep is aliased to `grep --color=auto'

$ type -P grep

/usr/bin/grep

$ type -t grep
————————————————
版权声明:本文为CSDN博主「夜流冰」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/guoqx/article/details/124399578


shell读取文件,写入文件,获取文件大小
#!/bin/sh
for line in $(cat edition.txt)
do
 echo $line;
done
echo "have line begin update edition.txt";
eval my_version=`expr $line + 1`
echo $my_version
rm -rf edition.txt
cat < edition.txt
$my_version
EOF
echo "update editionFile success!"

shell格式化输出

shell字符串、数组、字典,追加、删除等
第一种
#!/bin/bash
 
declare -A dic
test='status=OK key1=value1 key2=value2'
dic=()
arr=($test)
for i in "${arr[@]}"; do
    key=`echo $i|awk -F'=' '{print $1}'`
    value=`echo $i|awk -F'=' '{print $2}'`
    printf "%stn" "$i"
    dic+=([$key]=$value)
done
 
echo ${dic["key1"]}
echo ${dic[*]}
第二种
shell中有数值 字符串 还有数组 字典这⼏种常⽤的数据类型。其中数据和字典均可以⽤for进⾏迭代的遍历。
⼀、数组
定义:
直接赋值式的定义:⾥⾯可以包含数值和字符串
# arr=(1 2 3 sd)   #
打印数组中每个元素
# echo ${arr[0]} #
1
打印数组的长度
# echo ${#arr[@]}   #
4
使⽤数组的长度
然后打印最后⼀个数组的值
# echo ${arr[`expr ${#arr[@]} - 1`]} #
-1
sd
打印数组中最后⼀个值的长度
# echo ${#arr[`expr ${#arr[@]} - 1`]}#
2
for 循环遍历数组中的值:
arr=(1 2 3 sd)
其中
可以是
for i in ${arr[@]};do#
@
*
echo$i
done
⼆、字典,这个东西,我以为只有Python有,百度了⼀下,纳尼,shell中居然也有,没错,它是和Python⼀样,就是在⼀个()中存放
key=value,语法和Python有点不⼀样,思想还是⼀样的。
语法:
两种⽅式定义:先定义,后赋值
需要使⽤declare -A 去声明,表⽰后⾯的变量是⼀个字典类型
#!/bin/bash
declare -A dic
也是可以的
dic['name']=jack  #dir[name]=jack
dic['age']=18
for i in ${!dic[@]};do
echo"$i:${dic[$i]}"
done
打印字典的所有
echo ${!dic[@]}#
key
打印字典的所有
echo ${dic[@]}#
value
在字典中追加
男
dic+=(=男)#
sex=
第⼆种定义的⽅式:直接定义的时候就赋值
declare -A dic=(
=jack =18 =男)
for i in ${!dic[@]};do
echo"$i:${dic[$i]}"
done
打印字典的所有
echo ${!dic[@]}#
key
打印字典的所有
echo ${dic[@]}#
value
在字典中修改
⼥
dic+=(
=⼥)#
sex=
字典中添加
dic
=12345 #
tel12345
--------------------------------------------------------
作者:知识八卦彩荣00
链接:https://wenku.baidu.com/view/a099fde16237ee06eff9aef8941ea76e58fa4aec.html
来源:百度文库
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1004755.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号