1、安装Python
2、安装插件
python -m pip install ipython python -m pip install notebook
3、启动项目
cd PATH_TO_NOTEBOOK jupyter notebook
用浏览器访问后进行编辑即可
http://localhost:8888
Learn and share.
1、安装Python
2、安装插件
python -m pip install ipython python -m pip install notebook
3、启动项目
cd PATH_TO_NOTEBOOK jupyter notebook
用浏览器访问后进行编辑即可
http://localhost:8888
尤其是在有多版本Python共存的情况下,修改windows修改环境变量后,经常会导致pip无法启动的情况。
此时,不仅是pip,Python/Scripts目录下的所有脚本都无法启动,并会有如下错误:
Fatal error in launcher: Unable to create process using '"'
其根本原因,其实十分简单,pip无法找到python.exe可执行程序,你可以看pip的源码来确认这一点。
有几种方法可以解决这个问题:
1、环境变量法,更适合单Ptyhon环境
将python.exe路径,增加到PATH环境变量中即可解决问题
2、脚本启动法,适合多个Ptyhon环境
set PATH=PATH_TO_PYTHON\;PATH_TO_PYTHON\Scripts;%PATH% python -m pip install XXX
3、用1或2,更新pip,可以解决问题(对单Python环境更适用)
python -m pip install --upgrade pip
4、修改pip二进制文件
用十六进制编辑工具打开pip.exe
修改python.exe路径
保存
5、用PE编辑器修改pip二进制文件
同方法4
6、解压
用解压工具解压pip,
得到__main__.py
重命名为pip.py
运行
python pip.py install XXX
# -*- coding: UTF-8 -*-
'''
Created on 20150206
@author: Hansen
'''
import urllib2
import sys
import io
import json
#Fetch HTML from URL
def fecth_html(index,url,keepHtml,resultFile):
req = urllib2.Request(url)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.2; rv:16.0) Gecko/20100101 Firefox/16.0')
rsp = urllib2.urlopen(req)
content = rsp.read()
#receive_header = rsp.info()
#print(sys.getfilesystemencoding())
#content = content.decode('utf-8','replace')
if keepHtml:
fileinfo = open(str(index)+'.html','w')
fileinfo.write(content)
print("save file "+ str(index)+'.html: ok')
parse_json(content,resultFile)
#Parse HTML
def parse_json(content,resultFile):
jsonData = json.loads(content)
shops = jsonData['shopBeans']
print(len(shops))
for shop in shops:
szTitle = shop['filterFullName']
szTitle = szTitle.replace("\r\n", "-").replace(" ","");
szStar = shop['shopPowerTitle']
szMeanPrice = str(shop['avgPrice'])
szMeanPrice = szMeanPrice.replace("\n", "").replace(" ","");
szAddressA = shop['mainRegionName']
szAddressB = shop['address']
szAddress = (szAddressA+"-"+szAddressB).replace("\r\n", "-").replace(" ","");
szTaste = shop['refinedScore1']
szEvn = shop['refinedScore2']
szService = shop['refinedScore3']
fileinfo = io.open(resultFile,'a',encoding='utf_16')
fileinfo.write(szTitle+","+szStar+","+szMeanPrice+","+szAddress+"," +szTaste+","+szEvn+","+szService+"\n")
1、BeautifulSoup解析网页
'''
Created on 20150203
@author: Hansen
'''
import urllib2
import sys
import io
from bs4 import BeautifulSoup
#Fetch HTML from URL
def fecth_html(index,url,keepHtml,resultFile):
req = urllib2.Request(url)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.2; rv:16.0) Gecko/20100101 Firefox/16.0')
rsp = urllib2.urlopen(req)
content = rsp.read()
#receive_header = rsp.info()
#print(sys.getfilesystemencoding())
#content = content.decode('utf-8','replace')
if keepHtml:
fileinfo = open(str(index)+'.html','w')
fileinfo.write(content)
print("save file "+ str(index)+'.html: ok')
parse_html(content,resultFile)
#Parse HTML
def parse_html(html,resultFile):
soup = BeautifulSoup(html,fromEncoding="utf8")
lis = soup.select('div.shop-all-list li')
print(len(lis))
for li in lis:
szTitle = (li.select('div:nth-of-type(2) div:nth-of-type(1) a h4'))[0].get_text()
szTitle = szTitle.replace("\r\n", "-").replace(" ","");
szStar = (li.select('div:nth-of-type(2) div:nth-of-type(3) span'))[0]['title']
szReviewNum = (li.select('div:nth-of-type(2) div:nth-of-type(3) a:nth-of-type(1)'))[0].get_text()
szReviewNum = szReviewNum.replace("\n", "").replace(" ","");
szMeanPrice = (li.select('div:nth-of-type(2) div:nth-of-type(3) a:nth-of-type(2)'))[0].get_text()
szMeanPrice = szMeanPrice.replace("\n", "").replace(" ","");
szCategory = (li.select('div:nth-of-type(2) div:nth-of-type(4) a:nth-of-type(1)'))[0].get_text()
szAddressA = (li.select('div:nth-of-type(2) div:nth-of-type(4) a:nth-of-type(2)'))[0].get_text()
szAddressB = (li.select('div:nth-of-type(2) div:nth-of-type(4) span:nth-of-type(3)'))[0].get_text()
szAddress = (szAddressA+"-"+szAddressB).replace("\r\n", "-").replace(" ","");
szTaste = (li.select('div:nth-of-type(2) span:nth-of-type(5) span:nth-of-type(1)'))[0].get_text()
szEvn = (li.select('div:nth-of-type(2) span:nth-of-type(5) span:nth-of-type(2)'))[0].get_text()
szService = (li.select('div:nth-of-type(2) span:nth-of-type(5) span:nth-of-type(3)'))[0].get_text()
fileinfo = io.open(resultFile,'a',encoding='utf_16')
fileinfo.write(szTitle+","+szStar+","+szReviewNum+","+szMeanPrice+","+szCategory+"," +szAddress+","+szTaste+","+szEvn+","+szService+"\n")
2、PyQuery解析网页
'''
Created on 20150203
@author: Hansen
'''
import urllib2
import sys
import io
from pyquery import PyQuery
#Fetch HTML from URL
def fecth_html(index,url,keepHtml,resultFile):
req = urllib2.Request(url)
req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.2; rv:16.0) Gecko/20100101 Firefox/16.0')
rsp = urllib2.urlopen(req)
content = rsp.read()
#receive_header = rsp.info()
#print(sys.getfilesystemencoding())
#content = content.decode('utf-8','replace')
if keepHtml:
fileinfo = open(str(index)+'.html','w')
fileinfo.write(content)
print("save file "+ str(index)+'.html: ok')
parse_html(content,resultFile)
#Parse HTML
def parse_html(html,resultFile):
doc = PyQuery(html)
lis = doc('div.shop-all-list li')
print(len(lis))
for li in lis:
li_doc = PyQuery(li)
szTitle = li_doc('li div div a h4').text()
szTitle = szTitle.replace("\r\n", "-").replace(" ","");
szStar = li_doc("li div div span").filter('.sml-rank-stars').attr('title')
szReviewNum = li_doc('li div div a').filter('.review-num').text()
szReviewNum = szReviewNum.replace("\n", "").replace(" ","");
szMeanPrice = li_doc('li div div a').filter('.mean-price').text()
szMeanPrice = szMeanPrice.replace("\n", "").replace(" ","");
szCategory = li_doc('li div div a span').filter('.tag').eq(1).text()
szAddressA = li_doc('li div div a span').filter('.tag').eq(1).text()
szAddressB = li_doc('li div div span').filter('.addr').eq(0).text()
szAddress = (szAddressA+"-"+szAddressB).replace("\r\n", "-").replace(" ","");
szTaste = li_doc('li div span span').eq(0).text()
szEvn = li_doc('li div span span').eq(1).text()
szService = li_doc('li div span span').eq(2).text()
fileinfo = io.open(resultFile,'a',encoding='utf_16')
fileinfo.write(szTitle+","+szStar+","+szReviewNum+","+szMeanPrice+","+szCategory+"," +szAddress+","+szTaste+","+szEvn+","+szService+"\n")
#获取已安装模块列表
help("modules")
#获取模块说明及帮助信息
help("zlib")
#获取模块方法清单
dir("zlib")
ord('a')
97
chr(97)
'a'
unichr(97)
u'a'
import os
def walk_dir(targetdir,topdown=True):
for root, dirs, files in os.walk(targetdir, topdown):
for name in files:
print(os.path.join(name))
for name in dirs:
print(os.path.join(name))
#Let's start here
walk_dir("D:\",fileinfo)
#!/usr/bin/python
# -*- coding: utf-8 -*-
import MySQLdb
db=MySQLdb.connect(host="127.0.0.1",port=3306,db="django",user="sa",passwd="sa")
cur=db.cursor()
cur.execute("select count(*) from djuser")
print("rowcount=",cur.rowcount)
rows=cur.fetchall()
for row in rows:
print("%s" % (row[0]))
#!/usr/bin/python
# -*- coding: utf-8 -*-
import ceODBC
con=ceODBC.connect('driver=MySQL ODBC 5.1 Driver;server=127.0.0.1;port=3306;database=django;uid=sa;pwd=sa;')
cur=ceODBC.Cursor(con)
cur.execute("SELECT count(*) FROM djuser")
rows=cur.fetchall()
for row in rows:
print(row[0])
1.Test.h
#ifndef TEST_INTADD_HEADER #define TEST_INTADD_HEADER extern "C" int WINAPIV IntAdd(int a,int b); #endif
2.Test.cpp
#include <windows.h>
#include "Test.h"
BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpReserved)
{
UNREFERENCED_PARAMETER(hinstDLL);
UNREFERENCED_PARAMETER(lpReserved);
switch(fdwReason)
{
case DLL_PROCESS_ATTACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
extern "C" int WINAPIV IntAdd(int a,int b)
{
return a+b;
}
3.Test.def
LIBRARY "Test" EXPORTS IntAdd
4.test_cdll.py
#test_cdll.py #请用__cdecl调用约定而不是__stdcall from ctypes import * fileName="Test.dll" Test=cdll.LoadLibrary(fileName) print(Test.IntAdd(2,3))