本篇讲py-Class and Mod
0x1.Class
0x1.1 类内静态(c++)变量:varStrRemoveRepeatL
对所有实例只有一份.
class RandomSequence(object):
varStrRemoveRepeatL = []
varStrRemoveRepeatL.append('ahoo')
def __init__(self,path):
self.author = 'ahoo'
self.path = path
pass
0x1.2 self.path
对每个实例都是独立的.
0x1.3 引用自己编写的类(copyweb)
1, 首先自己写好一个文件如:read_file_class.py,
路径为:/home/wst/mylib/python-lib,
内容如下:
#!/usr/bin/env python
import xlrd
#Function:Read records from xls file.
#Depending lib:xlrd
class ReadXlsFile(object):
def __init__(self,filename):
self.filename=filename
def fetch_records(self):
wb=xlrd.open_workbook(self.filename)
sheet=wb.sheets()[0]
records=[]
for i in range(1,sheet.nrows):
records.append(sheet.row_values(i))
return records
2, 当你想要引用这个文件的时候,方式如下:
import sys
sys.path.append(r'/home/wst/mylib/python-lib')
from read_file_class import ReadXlsFile
obj=ReadXlsFile('somefile.xls')
records=obj.fetch_records()
0x2. Mod
0x2.1.package
文件夹中存在 __intit__.py文件(即便是空的)那这个文件夹为一个模块.
同一个文件夹中引用其他的py文件.
from FileRead2Write(文件名) import FileRead2Write(类名)
同一个文件夹中引用其他的py文件(做安装包时).
from Obfuscateer(文件夹名).FileRead2Write(文件名) import FileRead2Write(类名)
0x2.2 调用
from Obfuscateer.RandomSequence import RandomSequence
rdClass = RandomSequence()
rdClass.randSelfTypeStr2ArraryTypeStr(strtemp)
--------------------------------
from Obfuscateer.ObfuscateEngM import EngCla
eng = EngCla(PutPath,OutPath)
eng.Eng()