#比如:eval函数,ord函数等,当x=3时,执行eval(x)或ord(x)会报错,应改为x="3"才行。
#还比如
a="0x12"
b="12355"
p=125
print(f"{p:0>6}")#>右齐左充000125
print(f"{p:0<6}")#<左齐右充125000
print(f"{p:.3f}")#125.000
print(f"{p:3f}")#125.000000
print(f"2.0-1.0={2.0-1.0:.1f}")#2.0-1.0=1.0
print(f"{p}".rjust(9))#右对齐125
print(f"{p**2}".ljust(6),end="\n")#左对齐
print(f"{p}".center(6))#中间对齐
print("abcdefg".rindex("g"))#6
print("abcdefg".index("a"))#0
print("sgghbb".capitalize())#首字大写
print(a.startswith("0"))#以"0"开始
print(a.endswith("2"))#以"2"结束
print(dir("string"))#显示
print("A".isupper())#大写True
print("a".islower())#小写True
print(" ".isspace())#空格True
print("a".isascii())#ascii码True
print(a.istitle())#标题False
print(a.isidentifier())#False
print(b.isprintable())#True
print(a.isalpha())#纯字母
print(a.isalnum())#数字字母
print(a.isdigit())#数字
print(a.isdecimal())#10进制数字
print(b.isnumeric())#纯数字
…
Linux的shell中存在一些特殊字符(保留字),我们将这些具有一些特殊功能的字符叫做meta(元字符),还有一些普通的,没有特殊功能的字符我们叫做literal(文字)。bash中,常使用的引用有如下三种方法:
1、单引号:单引号中的所有meta均被当作普通字符使用。
2、双引号:在双引号中的大部分meta都被当作普通字符,但某些字符的功能保留(如$)。
3、反斜线:只有紧接在反斜线(跳脱字符)之后的单一meta才被当作普通字符。
Windows的cmd下,同样也有类似的概念。单引号和双引号有时候没有区别(可以使用任意一个),有时候只能用特定的一个。
这篇文章主要记录python脚本入参带有&&符号时,在Linux和Windows平台的不同表现。
编写python脚本quote.py,内容如下:
$ cat quote.py
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
print(sys.argv[1])
1、参数不使用引号
$ python quote.py whoami&&whoami
whoami
sunday
可以看出,第一个whoami被当作入参传给脚本,第二个whoami当作bash命令,在终端执行。
2、参数使用单引号
$ python quote.py 'whoami&&whoami'
whoami&&whoami
可以看出,&&被当作普通字符,whoami&&whoami作为参数传给了脚本。
3、参数使用双引号
$ python quote.py "whoami&&whoami"
whoami&&whoami
可以看出,&&被当作普通字符,whoami&&whoami作为参数传给了脚本。
在Windows执行脚本,用户为winsunday:
1、参数不使用引号
C:\test>python quote.py whoami&&whoami
whoami
winsunday
可以看出,第一个whoami被当作入参传给脚本,第二个whoami当作CMD命令,在终端执行。
2、参数使用单引号
C:\test>python quote.py 'whoami&&whoami'
'whoami
'whoami'' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
可以看出,单引号被当作普通字符,&&对命令进行了分割,'whoami作为第一个参数被传给脚本;whoami'被认为是一个命令进行执行(报错了)。
3、参数使用双引号
C:\test>python quote.py "whoami&&whoami"
whoami&&whoami
可以看出,双引号时&&被当作普通字符,whoami&&whoami作为整体被传给脚本。
键盘上有个按键就是引号!直接按引号键就是单引号‘’
如果按住shift键再按引号键就是“”
因为python识别的都是英文输入法的引号,所以按键的时候要先切换到英文输入法。