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<execfile
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=$sum\t" ? ?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 <<EOF > 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 "%s\t\n" "$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 来源:百度文库 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
|