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量赋值 shell打印 shell拼接字符串 name="Shell" str1=$name$url #中间不能有空格 echo $str1 shell 循环 sum=0 i=1 shell分隔符 awk 第二种 shell判断,加减乘除 第二种 例:let “I = I + 1” 或 let i=i+1 第三种 第四种 上面优化版 #!/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判断 shell type 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 shell格式化输出 shell字符串、数组、字典,追加、删除等
第一种
currentdir=`pwd`
echo $currentdir
第二种
#!/bin/bash
ls *.sh >execfile
while read LINE
do
chmod a+x $LINE
done
echo
#!/bin/bash
url="http://c.biancheng.net/shell/"
str2="$name $url" #如果被双引号包围,那么中间可以有空格
str3=$name": "$url #中间可以出现别的字符串
str4="$name: $url" #这样写也可以
str5="${name}Script: ${url}index.html" #这个时候需要给变量名加上大括号
echo $str2
echo $str3
echo $str4
echo $str5
第一种
#!/bin/bash
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
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
第一种
#!/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
第一种
((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 执行一个或多个表达式。表达式中的变量前不必有$.如果表达式中包含了空格或其他特殊字符,则必须引起来。
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))
if [ ! -d "$doiido"]; then
mkdir "$doiido"
fi
第二种
if [ ! -f "$doiido" ]; then
touch "$doiido"
fi
第三种
if [ ! -x "$doiido"]; then
mkdir "$doiido"
chmod +x "$doiido"
fi
第一种
$ type 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 <
$my_version
EOF
echo "update editionFile success!"
第一种
#!/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
来源:百度文库
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



