__author__ = 'mare' #STRING functions #capitalize() print( "PYTHON".capitalize() ) #Python print( "Python is powerful".capitalize() ) #Python is powerful #count(keyword, [start, [end]]) print( "python is powerful".count('p') ) print( "python is powerful".count('p', 5) ) #[5:] print( "python is powerful".count('p', 0, -1) ) #[0:-1] #2 #1 #2 #encode([encoding, [errors]]) print( "๊ฐ๋๋ค".encode('cp949') ) print( "๊ฐ๋๋ค".encode('utf-8') ) #b'\xb0\xa1\xb3\xaa\xb4\xd9' #b'\xea\xb0\x80\xeb\x82\x98\xeb\x8b\xa4' #endswith(postfix, [start, [end]]) print( "python is powerful".endswith('ful')) print( "python is powerful".endswith('ful', 5)) print( "python is powerful".endswith('ful', 5, -1)) #True #True #False print( "python is powerful".endswith(('m', 'l')) ) #True #expandtabs([tabsize]) print( "python\tis\tpowerful".expandtabs() ) print( "python\tis\tpowerful".expandtabs(1) ) #python is powerful #python is powerful #find(keyword, [start, [end]]) print( "python is powerful".find('p') ) print( "python is powerful".find('p', 5, -1) ) print( "python is powerful".find('pa') ) #0 #10 #-1 #index(keyword, [start, [end]]) print( "python is powerful".index('p') ) print( "python is powerful".index('p', 5, -1) ) #0 #10 #print( "python is powerful".index('pa') ) #Traceback (most recent call last): #File "/Users/mare/PycharmProjects/str_handling/str_handle.py", line 58, in#print( "python is powerful".index('pa') ) #ValueError: substring not found #isalnum() print( "python".isalnum() ) print( "python3000".isalnum() ) print( "python3.2".isalnum() ) #True #True #False #isalpha() print( "python".isalpha() ) print( "python3000".isalpha() ) #True #False #islower() print( "python".islower() ) print( "Python".islower() ) print( "python3.2".islower() ) #True #False #True #isspace() space, tab, change line... is ture print( " ".isspace() ) print( "\t\n".isspace() ) print( "\thi\n".isspace() ) #True #True #False #istitle() print( "python is powerful".istitle() ) print( "PYTHON IS POWERFUL".istitle() ) print( "Python Is Powerful".istitle() ) #False #False #True #isupper() print("python".isupper()) print("PYTHON".isupper()) print("PYTHON3.2".isupper()) #False #True #True #isdecimal(), isdigit() print( "2580".isdecimal() ) #True #isnumeric() print( '\u00bc'.isdecimal() ) print( '\u00bc'.isnumeric() ) #False #True print("id_1".isidentifier()) print("1_id".isidentifier()) #True #False #isprintable() print("test".isprintable() ) print( '\u0014'.isprintable() ) #True #False #join(sequence) print(".".join("HOT")) print("\t".join(["python","is","powerful"])) #H.O.T #python is powerful #lstrip([chars]) print( "\t python".lstrip()) print( ">>> python is powerful".lstrip("> ")) #python #python is powerful #maketrans(x, [y, [z]]) transmap = str.maketrans( {"p":"P"} ) print( "python is powerful".translate(transmap) ) #Python is Powerful transmap = str.maketrans( "poieu", "P0129" ) print( "python is powerful".translate(transmap) ) #Pyth0n 1s P0w2rf9l transmap = str.maketrans( "p", "P", "!" ) print( "python is powerful!!!".translate(transmap) ) #Python is Powerful #partition(separator) print( "python is powerful".partition("is") ) #('python ', 'is', ' powerful') #replace(old, new, [count]) print( "python is powerful".replace("p", "P")) print( "python is powerful".replace("p", "P", 1)) #Python is Powerful #Python is powerful #rfind(keyword, [start, [end]]) print( "python is powerful".rfind('p')) print( "python is powerful".rfind('p', 0, 9)) print( "python is powerful".rfind('pa')) #10 #0 #-1 #rindex(keyword, [start, [end]]) print( "python is powerful".rindex('p')) #10 #rpartition(separator) print( "python is powerful".rsplit()) print( "python is powerful".rsplit(' ',1)) #['python', 'is', 'powerful'] #['python is', 'powerful'] #rsplit([separator, [maxsplit]]) print( "python is powerful".rsplit() ) print( "python is powerful".rsplit(' ',1) ) #['python', 'is', 'powerful'] #['python is', 'powerful'] #rstrip([chars]) print( "python \t".rstrip() ) #python #split([separator, [maxsplit]]) print("python is powerful".split() ) print("python is powerful".split(' ', 1)) #['python', 'is', 'powerful'] #['python', 'is powerful'] #splitlines([keep]) print( "python\r\nis\npowerful".splitlines() ) #['python', 'is', 'powerful'] #startswith(prefix, [start, [end]]) print( "python is powerful".startswith('py')) print( "python is powerful".startswith('py', 5)) print( "python is powerful".startswith('py', 0, 5)) print( "python is powerful".startswith(('p', 'm'))) #False #True #True #strip([chars]) print( "\t python \t".strip() ) print( ">>> python <<<".strip("<> ") ) #python #python #swapcase() print("Python3.2".swapcase() ) #pYTHON3.2 #title() print( "python is powerful".title() ) #Python Is Powerful #upper() print(" Python3.2".upper() ) #PYTHON3.2
2/24/2014
(python study) string functions
2/11/2014
(python study) C Module for using in python using distutils (and Unable to find vcvarsall.bat problem)
The method to make C module for using in python using Visual Studio IDE is introduced on the http://feelmare.blogspot.kr/2014/02/python-study-c-module-for-using-in.html
In this page, I will introduce to make c module using distutils.
The method to use distutils is more simple than VS version.
Firstly, we have to make setup.py file like this.
...
type "python setup.py install" on the command line.
Note, python.exe, setup.py, spammodule.c is placed in same folder.
In this page, I will introduce to make c module using distutils.
The method to use distutils is more simple than VS version.
Firstly, we have to make setup.py file like this.
...
# -*- coding: cp949 -*- # python # install method : setup.py install # setup.py -help #from distutils.core import setup, Extension from distutils.core import setup, Extension spam_mod = Extension('spam', sources = ['spammodule.c']) setup (name = "spam", version = "1.0", description = "A sample extension module", ext_modules = [spam_mod], )---
type "python setup.py install" on the command line.
Note, python.exe, setup.py, spammodule.c is placed in same folder.
After running, Our .pyd (lib) is made in the python\Lib\site-packages
Now, we can import spam
!!!
If you meet "unable to find vcvarsall.bat" error, dont be worry, 't is not serious error.
I also meet this error and solve.
The problem is occurred python find vs 9.0 version even though my computer installed vs 11.
so correct this miss-match.
firstly, try this method
if you cannot solve error
try this method
open python/Lib/distutils/msvc9compiler.py
and modify code like figure.
I solved this error by second method.
good luck~!!
(python study) C Module for using in python , in Visual Studio
Firstly, I describe to make C module in Visual Studio.
...
rename ~.dll to spam.pyd
If module name is not matched, cannot use module, error occurred when run in python.
copy spam.pyd into python\LIB folder
In the python, programing following source and run~!
...
And introduce using distutils -> http://feelmare.blogspot.kr/2014/02/python-study-c-module-for-using-in_11.html
open visual studio
make project -> win32 console application
check DLL, Empty project on setting page
make new .c file and set property
select Include directories and Library directories on the VC++ Directories page.
In my case, My installed python is located
Include -> C:\Python33_32\include
Library -> C:\Python33_32\libs (Caution, not LIB folder)
Notice, my compile option is release, because I have only release version lib(python32.lib),
Python32_d.lib file is not support default.
If you compile by debug version, you rebuild python source code to debug version by CMake.
programing this source code and compile~!
#include "Python.h" #pragma comment(lib, "python33.lib") static PyObject * spam_strlen(PyObject *self, PyObject *args) { const char * str = NULL; int len = 0; if(!PyArg_ParseTuple(args, "s", &str)) return NULL; //main source code len = strlen(str); return Py_BuildValue("i", len); } static PyMethodDef SpamMethods[] = { {"strlen", spam_strlen, METH_VARARGS, "count a string length."}, {NULL, NULL, 0, NULL} //represent end of array }; static struct PyModuleDef spammodule = { PyModuleDef_HEAD_INIT, "spam", //name of module "It is test module.", //description -1, SpamMethods }; PyMODINIT_FUNC PyInit_spam(void) { return PyModule_Create( &spammodule); }---
rename ~.dll to spam.pyd
If module name is not matched, cannot use module, error occurred when run in python.
copy spam.pyd into python\LIB folder
In the python, programing following source and run~!
...
import spam print( spam.strlen( "Hello world") )---
2/07/2014
(python Study) input/output and file handle (example source code)
__author__ = 'mare' print(1) print('hi, guyz') a = 'hello\n' print(a) #1 #hi, guyz #hello x=0.2 print(x) str(x) print( str(x) ) a = repr('hello\n') print(a) #0.2 #0.2 #hello\n print(x, 'test') print(a + 'this is test') #0.2 test #'hello\n'this is test import sys print("welcome","to","python", sep="~", end="!") #welcome~to~python! #print("welcome","to","python", sep="~", end="!", file=sys.stderr) #/Library/Frameworks/Python.framework/Versions/3.3/bin/python3 /Users/mare/PycharmProjects/input_output/example.py #1 #welcome~to~python! ########### #alienment print('\n') for x in range(1, 6): print(x, '*', x, '=', x*x) #1 * 1 = 1 #2 * 2 = 4 #3 * 3 = 9 #4 * 4 = 16 #5 * 5 = 25 #using rjust for alienment for x in range(1, 6): print(x, '*', x, '=', str(x*x).rjust(4)) #1 * 1 = 1 #2 * 2 = 4 #3 * 3 = 9 #4 * 4 = 16 #5 * 5 = 25 #zfill example for x in range(1, 6): print(x, '*', x, '=', str(x*x).zfill(3)) #1 * 1 = 001 #2 * 2 = 004 #3 * 3 = 009 #4 * 4 = 016 #5 * 5 = 025 #### #formatting print( "{0} is {1}".format("apple", "red")) print("{0} is {1} or {2}".format("apple", "red", "green")) #apple is red #apple is red or green print("{item} is {color}".format(item="apple", color="red")) #apple is red dic = {"item":"apple", "color":"red"} print("{0[item]} is {0[color]}".format(dic)) #apple is red #using local variables item = "apple" color = "red" print("{0[item]} is {0[color]}".format(locals())) #apple is red print("{0:$=5}".format(10)) #$$$10 print("{0:$<5}".format(10)) print("{0:$>5}".format(10)) #10$$$ #$$$10 print("{0:q<5}".format(10)) print("{0:q>5}".format(10)) #10qqq #qqq10 print("{0:#<5}".format(10)) print("{0:#>5}".format(10)) #10### ####10 print("{0:#^6}".format(10)) ##10## print("{0:x}".format(10)) print("{0:b}".format(10)) print("{0:o}".format(10)) print("{0:c}".format(65)) #a #1010 #12 #A print("{0:#x}, {0:#o}, {0:#b}".format(10)) #0xa, 0o12, 0b1010 print("{0:e}".format(4/3)) #1.333333e+00 print("{0:f}".format(4/3)) print("{0:%}".format(4/3)) #1.333333 #133.333333% print("{0:.3f}".format(4/3)) #1.333 #input #a = input('insert any key:') #print(a) #insert any key:sadfsaf #sadfsaf #file input/output f= open('test.txt') print(f.read()) f.close() print( f.closed ) #binary mode and file copy f = open('Horse2.mp3', 'wb') f.write(open('Horse.mp3','rb').read()) f.close() f = open('test.txt') print( f.read() ) print( f.read() ) print( f.tell() ) #return position print( f.seek(0) ) #move to position print( f.read() ) #read again f.seek(0) print( f.readline() ) print( f.readline() ) print( f.readline() ) f.seek(0) print( f.readlines() ) f.close() """ I am boy Who are you Hello~ world I am boy Who are you Hello~ world ['I am boy\n', 'Who are you\n', 'Hello~ world\n'] """ with open('test.txt') as f: print(f.readlines()) print(f.closed) #not close print(f.closed) #closed because if use with keyword, when escape with block file is colsed automatically #['I am boy\n', 'Who are you\n', 'Hello~ world\n'] #False #True #### #pickle, save variables or class colors = ['red', 'green', 'black'] import pickle f = open('colors', 'wb') pickle.dump( colors, f) f.close() del colors f = open('colors', 'rb') #note! must read by binary colors = pickle.load(f) f.close() print( colors ) #['red', 'green', 'black']
2/05/2014
(Mac Tip) How to make new txt file in Finder
On the window, we made new file easily by right button click.
But on the mac, there is no function. So, very incompatible...
By the way, we can do make new file easily on Mac by using this app
The usage is as follows..
After install,
run App.
But on the mac, there is no function. So, very incompatible...
By the way, we can do make new file easily on Mac by using this app
The usage is as follows..
After install,
run App.
Select Gestures and Keyboard menu,
And click +Add New Shortcut
And click keyboard shortcut and make shortcut key combination
After, click trigger predefined action, and select system actions->create new file in current folder.
Setting is done.
New, make new file in folder by the shortcut key.
Good luck~!!
(python study) about exception (example source code)
exception running structure is like that
see the example source code carefully referencing this structure.
...
see the example source code carefully referencing this structure.
...
__author__ = 'mare' #exception test def divide(a, b): return a/b try: c = divide(5,0) except: print("Exception is occured!!") #-> Exception is occured!! try: c = divide(5, 'string') except ZeroDivisionError: print('donot input zero parameter') except TypeError: print('all parameter should be number!') except: print('I don know what error occur') #->all parameter should be number! try: c = divide(5, 2) except ZeroDivisionError: print('do not input zero parameter') except TypeError: print('all parameter should be only number') except: print('ZeroDivisionError, exception TypeError') else: print('Result: {0}'.format(c) ) finally: print('This sentence is always printed') #Result: 2.5 #This sentence is always printed try: c = divide(5, "af") except TypeError as e: print('error: ', e.args[0] ) except Exception: print('I do not know what error occur') #error: unsupported operand type(s) for /: 'int' and 'str' try: c = divide(5, 0) except (ZeroDivisionError, OverflowError, FloatingPointError, FloatingPointError): print('this error is relative to arithmetic') except TypeError: print('all parameter should be only number') except Exception: print('I do not know what error occur') #this error is relative to arithmetic try: c = divide(5, 0) except ArithmeticError: print('this error is relative to arithmetic') except TypeError: print('all parameter should be only number') except Exception: print('I do not know what error occur') #this error is relative to arithmetic #raise : uesr error message send def RaiseErrorFunc(): raise NameError try: RaiseErrorFunc() except: print("name error is catched") #--------------user error exception class NegativeDivisionError(Exception): def __init__(self, value): self.value = value def PositiveDivide(a, b): if(b < 0): raise NegativeDivisionError(b) return a/b try: ret = PositiveDivide(10, -3) print('10 / 3 = {0}'.format(ret)) except NegativeDivisionError as e: print('Error - second argument of positiveDivide is ', e.value) except ZeroDivisionError as e: print('Error - ', e.args[0] ) except: print("Unexpected exception!") #Error - second argument of positiveDivide is -3 ## assert function def foo(x): assert type(x) == int, "input value must be integer" return x*10 ret = foo("a") print( ret ) """ Traceback (most recent call last): File "/Users/mare/PycharmProjects/ใทใ ใ ๋ฐ์คใ ใ /pypy.py", line 124, in < module > ret = foo("a") File "/Users/mare/PycharmProjects/ใทใ ใ ๋ฐ์คใ ใ /pypy.py", line 121, in foo AssertionError: input value must be integer """---
2/03/2014
(Python Study) about Module (example source code)
The reason to use module is like that
Concise code
namespace differently
fast execution of a function
The module in python is similar with #include in C
To make module, make .py file.
...
and copy this file to lib folder.
In my case lib is located in "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3"
Additionally, my computer is mac.
...
Concise code
namespace differently
fast execution of a function
The module in python is similar with #include in C
To make module, make .py file.
...
""" import math print( math.pow(2, 10) ) print( math.log(100) ) """ #make user module from functools import * #bring functools module to use reduce function def intersect(*ar): return reduce( __intersectSC, ar ) def __intersectSC( listX, listY): setList = [] for x in listX: if x in listY: setList.append(x) return setList def difference(*ar): setList = [] intersectSet = intersect(*ar) unionSet = union(*ar) for x in unionSet: if not x in intersectSet: setList.append(x) return setList def union(*ar): setList = [] for item in ar: for x in item: if not x in setList: setList.append(x) return setList #save *.py and copy to python32\lib directory #and bring this source code using import command---
and copy this file to lib folder.
In my case lib is located in "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3"
Additionally, my computer is mac.
And import this file.
import simpleset print( dir(simpleset) ) setA = [1, 3, 7, 10] setB = [2, 3, 4, 9] print( simpleset.union(setA, setB) ) print( simpleset.intersect(setA, setB, [1, 2, 3] )) #[1, 3, 7, 10, 2, 4, 9] #[3]---
(Window 2008) disable port 80 on the window 2008 os
I have to close the programs using port 80 to setup APM(Apache, PHP, Mysql)
But I cannot find which program use port 80 on the window 2008 environment.
After a long time later, I figured out the solution.
The method is like that
Control Panel> Administrative Tools> Services to find information about the following 'stop'
Properties in 'Manual' to change.
World Wide Web Publishing Service
SQL Server Integration Services 10.0
SQL Server Reporting Services (MSSQL SERVER)
If not this should not conflict with port 80, the user of MS SQL
1. Start> Programs> Microsoft SQL Server 2008> Configuration Tools> Reporting Services Configuration Manager, run
2. Server Connection
3. In the left menu 'Web service URL', the right to use port 80. -> Change to a different port
good luck~!!
But I cannot find which program use port 80 on the window 2008 environment.
After a long time later, I figured out the solution.
The method is like that
Control Panel> Administrative Tools> Services to find information about the following 'stop'
Properties in 'Manual' to change.
World Wide Web Publishing Service
SQL Server Integration Services 10.0
SQL Server Reporting Services (MSSQL SERVER)
If not this should not conflict with port 80, the user of MS SQL
1. Start> Programs> Microsoft SQL Server 2008> Configuration Tools> Reporting Services Configuration Manager, run
2. Server Connection
3. In the left menu 'Web service URL', the right to use port 80. -> Change to a different port
good luck~!!
Labels:
APM setup,
port 80,
Total,
Window 2008
Subscribe to:
Posts (Atom)
-
* Introduction - The solution shows panorama image from multi images. The panorama images is processing by real-time stitching algorithm...
-
Image size of origin is 320*240. Processing time is 30.96 second took. The result of stitching The resul...
-
In past, I wrote an articel about YUV 444, 422, 411 introduction and yuv rgb converting example code. refer to this page -> http://feel...
-
Logistic Classifier The logistic classifier is similar to equation of the plane. W is weight vector, X is input vector and y is output...
-
Created Date : 2007.8 Language : Matlab / C++(MFC) Tool : Matlab / Visual C++ 6.0 Library & Utilized : - / OpenGL Reference : ...
-
fig 1. Left: set 4 points (Left Top, Right Top, Right Bottom, Left Bottom), right:warped image to (0,0) (300,0), (300,300), (0,300) Fi...
-
The MNIST dataset is a dataset of handwritten digits, comprising 60 000 training examples and 10 000 test examples. The dataset can be downl...
-
Created Date : 2009.10. Language : C++ Tool : Visual Studio C++ 2008 Library & Utilized : Point Grey-FlyCapture, Triclops, OpenCV...
-
In the YUV color format, Y is bright information, U is blue color area, V is red color area. Show the below picture. The picture is u-v col...
-
Created Date : 2011.8 Language : Matlab Tool : Matlab 2010 Library & Utilized : - Reference : Multiple View Geometry (Hartly and Z...