锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
history = []
code = ''
min = 99999.99
max = 0.0
k = 0.0
d = 0.0
rsv = 0.0
def __init__(self,code):
self.code = code
def checkMinAndMax(self,n):
min = 99999.9
max = 0.0
for item in self.history:
if item[3] < min:
min = item[3]
if item[4] > max:
max = item[4]
return [min,max]
def update(self,date,start,close,low,high,n):
self.history.append([date,start,close,low,high])
if len(self.history) < n:
self.min = min(self.min,low)
self.max = max(self.max,high)
return [date,self.k,self.d,0,start,close,low,high]
else:
if len(self.history) > n:
del self.history[0]
p = self.checkMinAndMax(n)
rsv = (close - p[0])/(p[1]-p[0])*100.0
oldk = self.k
oldd = self.d
self.k = (rsv + 2*oldk)/3.0
self.d = (self.k + 2*oldd)/3.0
self.k = min(100,max(self.k,0))
self.d = min(100,max(self.d,0))
j = 3*self.k - 2*self.d
j = min(100,max(j,0))
return [date,self.k,self.d,j,start,close,low,high]
]]>
def list_get(file):
soup = BeautifulSoup(open(file))
alist = soup.find_all('a',class_ = 'link')
list = []
for i in alist:
list.append(i.get('href'));
#for i in list:
# print(i)
return list
if __name__=="__main__":
list_get('List.htm')
list_get鍑芥暟榪斿洖鐨勬槸list瀛楃涓插璞?br />鍏禼璇█璋冪敤鐨勪唬鐮佸涓?
#include <stdlib.h>
#include <Python.h>
char* GDALPythonObjectToCStr(PyObject* pyObject);
int main(int argc, char *argv[])
{
Py_Initialize();
if(!Py_IsInitialized())
{
return -1;
}
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./script')");
PyObject* pModule;
PyObject* pDict;
PyObject* pFunc;
pModule = PyImport_ImportModule("list");
if(!pModule)
{
printf("can't find list.py");
system("PAUSE");
getchar();
return -1;
}
pDict = PyModule_GetDict(pModule);
if(!pDict)
{
return -1;
}
pFunc = PyDict_GetItemString(pDict,"list_get");
if(!pFunc || !PyCallable_Check(pFunc))
{
printf("can't find function [list_get]");
getchar();
return -1;
}
PyObject* args = PyTuple_New(1);
PyTuple_SetItem(args,0,Py_BuildValue("s","List.htm"));
PyObject* value = PyObject_CallObject(pFunc,args);
int ret = PySequence_Check(value);
printf("check:%d\n",ret);
int length = PySequence_Size(value);
printf("length:%d\n",length);
int i = 0;
for(;i<length;i++)
{
PyObject* obj = PySequence_GetItem(value,i);
//char* str = PyBytes_AS_STRING(obj);
char* str = GDALPythonObjectToCStr(obj);
printf("link:%s\n",str);
free(str);
}
Py_DECREF(args);
Py_DECREF(pModule);
Py_Finalize();
system("PAUSE");
return 0;
}
/* Return a NULL terminated c String from a PyObject */
/* Result must be freed with GDALPythonFreeCStr */
char* GDALPythonObjectToCStr(PyObject* pyObject)
{
#if PY_VERSION_HEX >= 0x03000000
if(PyUnicode_Check(pyObject))
{
char *pszStr;
char *pszNewStr;
Py_ssize_t nLen;
PyObject* pyUTF8Str = PyUnicode_AsUTF8String(pyObject);
PyBytes_AsStringAndSize(pyUTF8Str,&pszStr,&nLen);
pszNewStr = (char*)malloc(nLen+1);
memcpy(pszNewStr,pszStr,nLen+1);
Py_XDECREF(pyUTF8Str);
return pszNewStr;
}
else if(PyBytes_Check(pyObject))
{
char *pszStr;
char *pszNewStr;
Py_ssize_t nLen;
PyBytes_AsStringAndSize(pyObject,&pszStr,&nLen);
pszNewStr = (char*)malloc(nLen+1);
memcpy(pszNewStr,pszStr,nLen+1);
return pszNewStr;
}
else
{
char *pszStr = (char*)malloc(1);
pszStr[0] = '\0';
return pszStr;
}
#else
return PyString_AsString(pyObject);
#endif
}
]]>
浣跨敤Beautiful Soup鐨勪竴涓緥瀛愬涓?
soup = BeautifulSoup(open('List.htm'))
for a in soup.find_all('a',class_ = 'link'):
print (a.get('href'))
濡傛灉鏄嬌鐢╟++ libtidy鐨勮瘽
瀵瑰簲鐨勪唬鐮佸涓?
{
return no;
}
void extractContent(TidyNode node,TidyDoc doc);
void parseContent(TidyNode node,TidyDoc doc)
{
TidyNode child;
for(child = tidyGetChild(node);child;child = tidyGetNext(child))
{
if(tidyNodeIsA(child))
extractContent(child,doc);
else
parseContent(child,doc);
}
}
void extractContent(TidyNode node,TidyDoc doc)
{
if(yes == tidyNodeIsA(node))
{
TidyAttr cls = tidyAttrGetCLASS(node);
if(cls != NULL)
{
char* value = (char*)tidyAttrValue(cls);
if(!strcmp(value,"link"))
{
TidyAttr href = tidyAttrGetHREF(node);
if(href != NULL)
{
char* link = (char*)tidyAttrValue(href);
printf("link:%s\n",link);
return;
}
}
}
}
parseContent(node,doc);
}
void tidyParseHtml(char* file)
{
TidyDoc doc = tidyCreate();
tidySetReportFilter(doc,tidyFilterCb);
tidyParseFile(doc,file);
TidyNode body = tidyGetBody(doc);
TidyNode child;
for(child = tidyGetChild(body);child;child = tidyGetNext(child))
{
parseContent(child,doc);
}
tidyRelease(doc);
}
褰撶劧涓嬮潰鐨刾ython浠g爜涔熻兘瀹屾垚浠誨姟:
soup = BeautifulSoup(open('List.htm'))
list = soup.select('a[class="link"]')
for a in list:
if a.has_attr('href'):
print (a.get('href'))
]]>
call.py
print 'hello world'
def add(a,b):
return a + b
api.py
def load_test():
fp = open('call.py','r')
buffer = ''
if fp:
buffer = fp.read()
fp.close()
return buffer
cpp浠g爜:
#include <stdlib.h>
#include <Python.h>
int main(int argc, char *argv[])
{
Py_Initialize();
if(!Py_IsInitialized())
{
return -1;
}
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
PyObject* pName;
PyObject* pModule;
PyObject* pDict;
PyObject* pFunc;
pName = PyString_FromString("api");
pModule = PyImport_Import(pName);
if(!pModule)
{
printf("can't find call.py");
getchar();
return -1;
}
pDict = PyModule_GetDict(pModule);
if(!pDict)
{
return -1;
}
{
pFunc = PyDict_GetItemString(pDict,"load_test");
if(!pFunc || !PyCallable_Check(pFunc))
{
printf("can't find function [test]");
getchar();
return -1;
}
PyObject *pFn = PyObject_CallObject(pFunc,0);
char* buffer = PyString_AsString(pFn);
printf("%s\n",buffer);
PyObject* o = Py_CompileString(buffer,"none",Py_file_input);
PyObject* m = PyImport_ExecCodeModule("a.a",o);
PyObject* d = PyModule_GetDict(m);
pFunc = PyDict_GetItemString(d,"add");
if(!pFunc || !PyCallable_Check(pFunc))
{
printf("can't find function [add]");
getchar();
return -1;
}
PyObject* args = PyTuple_New(2);
PyTuple_SetItem(args,0,Py_BuildValue("l",3));
PyTuple_SetItem(args,1,Py_BuildValue("l",4));
PyObject *pAdded = PyObject_CallObject(pFunc,args);
int ret = PyInt_AsLong(pAdded);
printf("add value:%d\n",ret);
}
Py_Finalize();
system("PAUSE");
return 0;
}
榪欐浠g爜鍜屼笂涓綃囨湁鐐瑰尯鍒?br />涓昏鍖哄埆鏄粠浠庡唴瀛樿澆鍏ython妯″潡鐒跺悗璋冪敤鍑芥暟
涓昏閮ㄥ垎鏄繖鍧?
PyObject* m = PyImport_ExecCodeModule("a.a",o);
PyObject* d = PyModule_GetDict(m);
鍦╬ython2.7涓墽琛屾甯?br />
]]>
def test():
print 'hello world'
def add(a,b):
return a + b
鍐嶄笂c浠g爜
#include <stdlib.h>
#include <Python.h>
int main(int argc, char *argv[])
{
Py_Initialize();
if(!Py_IsInitialized())
{
return -1;
}
PyRun_SimpleString("import sys");
PyRun_SimpleString("sys.path.append('./')");
PyObject* pName;
PyObject* pModule;
PyObject* pDict;
PyObject* pFunc;
pName = PyString_FromString("call");
pModule = PyImport_Import(pName);
if(!pModule)
{
printf("can't find call.py");
getchar();
return -1;
}
pDict = PyModule_GetDict(pModule);
if(!pDict)
{
return -1;
}
{
pFunc = PyDict_GetItemString(pDict,"test");
if(!pFunc || !PyCallable_Check(pFunc))
{
printf("can't find function [test]");
getchar();
return -1;
}
PyObject_CallObject(pFunc,0);
}
{
pFunc = PyDict_GetItemString(pDict,"add");
if(!pFunc || !PyCallable_Check(pFunc))
{
printf("can't find function [test]");
getchar();
return -1;
}
PyObject* args = PyTuple_New(2);
PyTuple_SetItem(args,0,Py_BuildValue("l",3));
PyTuple_SetItem(args,1,Py_BuildValue("l",4));
PyObject *pAdded = PyObject_CallObject(pFunc,args);
int ret = PyInt_AsLong(pAdded);
printf("add value:%d\n",ret);
Py_DECREF(args);
}
Py_DECREF(pName);
Py_DECREF(pDict);
Py_DECREF(pModule);
Py_Finalize();
system("PAUSE");
return 0;
}
涓嶈繃濡備綍浠庡瓧絎︿覆涓澆鍏ユā鍧楋紵
]]>
import io
file = open('out.txt','w')
for filename in glob.glob("E:\\*.cpp"):
str = '@'
str += filename
str += '@\n'
file.write(str)
file.close()
]]>
鏂囨。璇存槑:The QApplication class manages the GUI application's control flow and main settings.
Application綾葷鐞咷UI紼嬪簭鎺у埗嫻佸拰涓昏鍙傛暟璁劇疆
QApplication緇ф壙浜嶲CoreApplication銆傚悗鑰呮彁渚涗簡鎺у埗鍙扮▼搴忕殑浜嬩歡嫻?br>2.鍩烘湰鎺т歡鐨勪嬌鐢ㄤ緥瀛?
#include <QLabel>
#include <QPalette>
#define QT_HTML
QLabel* label = NULL;
void initlabel()
{
#ifndef QT_HTML
label = new QLabel("Hello Qt!");
#else
label = new QLabel("<h2><i>Hello</i><font color=red>Qt!</font></h2>");
#endif
//! set size
label->setBaseSize(64,48);
//! set alignment
label->setAlignment(Qt::AlignHCenter);
//! sht background color
QColor bk(100,100,125);
QPalette palette(bk);
label->setPalette(palette);
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
app.setApplicationName("QT Test");
initlabel();
label->show();
return app.exec();
}
QPalette璐熻矗鎺у埗鎺т歡鐘舵佺殑棰滆壊緇?娉ㄦ剰鏄帶浠剁姸鎬併?br>閭d箞瀵逛竴涓帶浠舵瘡涓姸鎬佺殑棰滆壊閮藉彲浠ユ槸涓嶄竴鏍風殑鍜?br>鑷充簬QPalette鐨勮緇嗗姛鑳藉拰浣跨敤鏂規(guī)硶浠ュ悗闇瑕佺殑鏃跺欏啀鐪嬪惂
4.鍩烘湰鐨勪俊鍙烽摼鎺ヤ嬌鐢ㄤ緥瀛?br>
#include <QPushButton>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QPushButton *button = new QPushButton("Quit");
//! when click button, app exit.
QObject::connect(button, SIGNAL(clicked()),&app, SLOT(quit()));
button->show();
return app.exec();
}
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>
#include <QIcon>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget* widget = new QWidget;
QIcon icon("config.png");
widget->setWindowIcon(icon);
widget->setWindowTitle("Using QT");
QSlider* slider = new QSlider(widget);
slider->setRange(0,99);
QSpinBox* spinbox = new QSpinBox(widget);
spinbox->setRange(0,99);
widget->show();
return app.exec();
}
6.鍔犱笂甯冨眬綆$悊鍣ㄥ拰淇″彿榪炴帴鐨勮瘽浠g爜澶ц嚧搴旇鏄繖涓牱瀛?br>
#include <QHBoxLayout>
#include <QSlider>
#include <QSpinBox>
#include <QIcon>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget* widget = new QWidget;
QIcon icon("config.png");
widget->setWindowIcon(icon);
widget->setWindowTitle("Using QT");
QSlider* slider = new QSlider(widget);
slider->setRange(0,99);
QSpinBox* spinbox = new QSpinBox(widget);
spinbox->setRange(0,99);
QHBoxLayout* layout = new QHBoxLayout;
layout->addWidget(spinbox);
//! adjust slider's direction
slider->setOrientation(Qt::Horizontal);
layout->addWidget(slider);
spinbox->setValue(28);
//! connect signals and slots
QObject::connect(spinbox, SIGNAL(valueChanged(int)),slider,SLOT(setValue(int)));
QObject::connect(slider,SIGNAL(valueChanged(int)),spinbox,SLOT(setValue(int)));
widget->setLayout(layout);
widget->show();
return app.exec();
}
榪欐槸鍏充簬QT鐨勭鍏瘒絎旇
鎬葷粨涓嬪惂
QT鍔熻兘榪樻槸寰堝己澶ц創(chuàng)蹇冪殑
姣旇緝瀹規(guī)槗涓婃墜
涓嶈繃鏈?鐐規(guī)垜鎰熻涓嶅ぇ鑸掓湇鐨勫湴鏂規(guī)槸瀵硅繖涓彉閲忓懡鍚嶆牸寮忔湁鐐逛笉澶у枩嬈?br>姣斿setValue鎴戝枩嬈㈠啓鎴怱etValue.
浠呮鑰屽凡
]]>