[Python]python学习笔记(二)——常见问题

1,python中if __name__ == "__main__":的作用
 判断当前的模块是被直接调用还是被直接执行用的,如果当前模块是被调用的,那么if __name__ == "__main__":之后的语句将不会被执行,如果当前的模式是直接被执行的,那么if __name__ == "__main__":之后的语句会被执行到~

 

2,python利用struct结构体处理二进制数据

python利用struct结构体处理二进制数据


3,字典里的值是无序的,如下示例:

>>> a = {'Agitation':3, 'SPEND':2, 'Encro':1}
>>> for i in a.keys():
...  i
... 
'Encro'
'SPEND'
'Agitation'


4,python如何递归创建目录和文件

def creat_file(finame):
	tempdir=os.getcwd()
	basename=os.path.basename(finame)
	dirname=os.path.dirname(finame)
	os.chdir(dirname)
	file(basename,'w')
	os.chdir(tempdir)
	
def creat_dir(fname):
	filename=fname
	n=filename.find('/')
	if n>0:
		dir= filename[0:filename.find('/')+1]
		print dir
		if not os.path.exists(dir):
			os.makedirs(dir,mode=0777)
			os.chdir(dir)
			dirleft=filename[filename.find('/')+1:]
			creat_dir(dirleft)
		else:
			dir= filename[0:filename.find('/')+1]
			dirleft=filename[filename.find('/')+1:]
			os.chdir(dir)
			creat_dir(dirleft)<strong>	</strong>


5,python如何调用shell脚本
     os.system('mkdir ss')

os.system()传递变量的方法如下,

log="main.log"

os.system('cat %s | grep nvram'%log)


6,如何在python中调用正则表达式
python的re模块
如下代码表示在一个字符串中找出以大写或者小写字母开始的字符串
cFileName='abdAA123aa'
m=re.search('[a-z,/,A-Z,_]+',cFileName)
print m.group(0)

7,python如何使用全部变量

把全局变量定义在一个单独的模块中:
#gl.py
gl_1 = 'hello'
gl_2 = 'world'

在其它模块中使用
#a.py
import gl

def hello_world()
print gl.gl_1, gl.gl_2
适用于不同文件之间的变量共享

 

8,例举当前目录下的所有文件并打印

listfile=os.listdir(os.getcwd())

for line in listfile:

 print line

 

9,python使用与和或~

    and 和or关键字~

 

10,使用getopt模块解析命令行参数

示例如下:

参数args一般是sys.argv[1:]
shortopts  短格式 (-)

longopts 长格式(--) 

命令行中输入:
python test.py -i 127.0.0.1 -p 80 55 66
python test.py --ip=127.0.0.1 --port=80 55 66
下面的代码:
try:
options,args = getopt.getopt(sys.argv[1:],"hp:i:",["help","ip=","port="])
except getopt.GetoptError:
sys.exit()
for name,value in options:
if name in ("-h","--help"):
usage()
if name in ("-i","--ip"):
print 'ip is----',value
if name in ("-p","--port")

print 'port is----',value
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值