IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python和shell常用语法 -> 正文阅读

[Python知识库]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<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
来源:百度文库
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-07-05 23:30:09  更:2022-07-05 23:31:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:26:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码