python pexpect, paramiko 라이브러리를 이용한 원격지 서버의 명령어 수행


1) pip 설치

2) pip install pexepect, paramiko 


#!/usr/bin/python


####################################


import pexpect

import paramiko

import time

import sys


def ssh_conn(host,passwd,command):

result=""

ssh = paramiko.SSHClient()  

ssh.load_system_host_keys()

ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect(host,username='root',password=passwd)

stdin, stdout, stderr = ssh.exec_command(command)

for i in stdout.readlines():

result+=i

print result


ssh.close()


return result


if __name__ == "__main__":

try:

num = 1

mgmt = ""

networks = ["172.16.193.", "172.16.194.", "172.16.196.", "172.16.197."]

for i in networks:

print i + "X MGMT Network POD " + "\n"

for j in range(1,9):

mgmt = i + str(j)

ssh_conn(mgmt, "password", sys.argv[1])

time.sleep(1)

except Exception, e:

print str(e)

'Python_Study' 카테고리의 다른 글

[python] pass, continue 차이  (2) 2015.09.23
[python] class , self  (0) 2015.09.10
python pip  (0) 2015.08.21
Flask 정리  (0) 2015.02.05
52장 카드만들기  (0) 2014.08.20
Posted by 뭉탁거림
,

python 에서의 continue, pass, break 를 정리해보자

for element in some_list: 
    if not element: 
        pass 

for element in some_list: 
    if not element: 
        continue

3문장으로 요약하자면  

1) pass는 단순히 실행할 코드가 없다는 것을 의미한다

2) continue는 다음 순번의 loop를 돌도록 강제하는 것을 의미

3) 이둘은 명백히 다른 구문이다, pass 와는 다르게 continue는 바로 다음 순번의 loop를 돈다


만약 pass 를 타게 되면 A작업은 수행되지만, continue에서는 수행되지 않고 바로 다음 loop 순번으로 돈다.

############################

예제)

for i in [1,2,3]:
        if i:
                print "pass %d" % i
                pass
        print "mjsjinsu pass" # will print after pass


for i in [4,5,6]:
        if i:
                print "pass %d" % i
                continue
        print "mjsjinsu continue"

############################

실행 결과 )

pass 1
mjsjinsu pass
pass 2
mjsjinsu pass
pass 3
mjsjinsu pass
pass 4
pass 5
pass 6


'Python_Study' 카테고리의 다른 글

python pexpect, paramiko 라이브러리  (0) 2016.10.07
[python] class , self  (0) 2015.09.10
python pip  (0) 2015.08.21
Flask 정리  (0) 2015.02.05
52장 카드만들기  (0) 2014.08.20
Posted by 뭉탁거림
,

[python] class , self

Python_Study 2015. 9. 10. 11:08

python Class와 self에 대한 변수 namespace에 대한 내용

Class를 선언하고 변수 초기화에 대한 __init__ 함수의 역할

 - 보이지 않게 Class 객체 생성/소멸 시 __init__/__del__ 통해 초기화/소멸 과정 거침

 - self 라는 지시자는 객체 생성 시 자신의 객체 자체를 가르키는 역할


예제에서 self = show_self와 같다는 의미


class MyClass():

def __init__(self, x, y):

self.x = x

self.y = y


def show_self(self, z):

y = 3 

print "I am self var x = {0}".format(self.x)

print "I am self var y = {0}".format(self.y)

print "I am def var y = {0}".format(y)

print "def param var z = {0}".format(z)


if __name__ == '__main__':

i = MyClass(1,2)

i.show_self(4)

'Python_Study' 카테고리의 다른 글

python pexpect, paramiko 라이브러리  (0) 2016.10.07
[python] pass, continue 차이  (2) 2015.09.23
python pip  (0) 2015.08.21
Flask 정리  (0) 2015.02.05
52장 카드만들기  (0) 2014.08.20
Posted by 뭉탁거림
,

python pip

Python_Study 2015. 8. 21. 16:52

python package 관리 pip 설치

pip : python package manage software 


CentOS 6 기준으로....

rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm


yum install python-pip

yum install python-devel

pip list


사용법은 

pip install package

pip list 등등 확인 ~



'Python_Study' 카테고리의 다른 글

[python] pass, continue 차이  (2) 2015.09.23
[python] class , self  (0) 2015.09.10
Flask 정리  (0) 2015.02.05
52장 카드만들기  (0) 2014.08.20
[python] xlwt - Excel 생성 모듈  (0) 2014.01.09
Posted by 뭉탁거림
,

Flask 정리

Python_Study 2015. 2. 5. 15:44

from flask import Flask : Flask class 임포트
app = Flask(__name__) : Flask 인스턴스 생성

@app.route('/') : route() 데코레이터를 사용해서 Flask에게 어떤 URL이 우리가 작성한 함수를 실
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

지금까지는 url을 함수로 매핑시켜주는 @app.route를 살펴봤다. 반대도 가능할까? url_for()를 사용하면 된다. 첫번째 파라메터는 함수의 이름이고 두번째부터는 URL에서의 변경부분이다. 없는 두번째 파라메터는 query parameter가 된다.

url_for('hello_world') => /
url_for('username', username='soo') => /username/soo
url_for('username', query='soo') => /username?query=soo

 

 

 


 

'Python_Study' 카테고리의 다른 글

[python] class , self  (0) 2015.09.10
python pip  (0) 2015.08.21
52장 카드만들기  (0) 2014.08.20
[python] xlwt - Excel 생성 모듈  (0) 2014.01.09
[python] List  (0) 2013.12.17
Posted by 뭉탁거림
,

52장 카드만들기

Python_Study 2014. 8. 20. 14:02

alist = []

for i in ["spade","heart","diamond","clover"]:

    for j in ["A",2,3,4,5,6,7,8,9,10,"J","Q","K"]:

        alist.append((i,j))

print alist



'Python_Study' 카테고리의 다른 글

python pip  (0) 2015.08.21
Flask 정리  (0) 2015.02.05
[python] xlwt - Excel 생성 모듈  (0) 2014.01.09
[python] List  (0) 2013.12.17
python 변수 데이터 type  (0) 2013.12.10
Posted by 뭉탁거림
,

http://ppiazi.tistory.com/33 퍼옴


 

xlwt 소개#

     pyExcelerator의 클론 프로젝트이며, COM 또는 엑셀의 설치가 없더라도 엑셀 파일을 생성을 가능하게 해주는 파이썬 모듈이다. 즉, 리눅스를 포함한 다른 플랫폼에서의 사용이 가능하다. 다운로드는 아래의 홈페이지에서 최신 버전을 받는다.

     별도의 문서가 있는것이 아니라, 예제를 통해서 사용방법을 익혀야 한다. 예제 파일들은 아래의 위치에서 확인가능하다.

xlwt 사용법#

기본 사용법#

     xlwt.Workbook을 생성하고, Sheet를 추가하여 Row/Col에 데이터를 쓸수 있다.

import xlwt
wbk = xlwt.Workbook()              # create Workbook
sheet = wbk.add_sheet('sheet 1')   # add sheet named 'sheet 1'
sheet.write(0,0,'Hello Excel')     # write 'Hello Excel' at (0,0) row & col
wbk.save('test.xls')                  # save

사용 예제 1 : Cell에 Overwrite 하기#

     기본 설정으로 덮어쓰기를 시도하면,

import xlwt

wbk = xlwt.Workbook()
sheet = wbk.add_sheet('Sheet 1')
sheet.write(0,0,"Hello Excel")
sheet.write(0,0,"11")
wbk.save('test.xls')

 

     다음과 같은 Exception을 볼 수 있다.

Traceback (most recent call last):
  File "C:\JOOHYUN\workspace\Python_Practice\src\xlwt_01.py", line 13, in <module>
    sheet.write(0,0,"11")
  File "C:\developer\Python_26\lib\site-packages\xlwt\Worksheet.py", line 1003, in write
    self.row(r).write(c, label, style)
  File "C:\developer\Python_26\lib\site-packages\xlwt\Row.py", line 231, in write
    StrCell(self.__idx, col, style_index, self.__parent_wb.add_str(label))
  File "C:\developer\Python_26\lib\site-packages\xlwt\Row.py", line 150, in insert_cell
    raise Exception(msg)
Exception: Attempt to overwrite cell: sheetname=u'Sheet 1' rowx=0 colx=0

     덮어쓰기를 가능하게 하려면 아래와 같은 설정을 해주어야 한다.

import xlwt

wbk = xlwt.Workbook()
sheet = wbk.add_sheet('Sheet 1', cell_overwrite_ok=True)
sheet.write(0,0,"Hello Excel")
sheet.write(0,0,"11")
wbk.save('test.xls')


'Python_Study' 카테고리의 다른 글

Flask 정리  (0) 2015.02.05
52장 카드만들기  (0) 2014.08.20
[python] List  (0) 2013.12.17
python 변수 데이터 type  (0) 2013.12.10
파이썬에서 쉘 명령을 수행하는 방법  (0) 2013.12.06
Posted by 뭉탁거림
,

[python] List

Python_Study 2013. 12. 17. 11:19

Head_first_python 영문버전 - _- 자가학습하면서... 정리하는 자료


1. List

우리가 만드는 대부분의 프로그램은 반드시 data와 함께 동작을 하죠..

data라는 것은 간단해보이고 직관적이지만 반면에.. data가 많아진다면 구조적으로나 의미에서 복잡할 경우가 충분히 생길수가 있습니다.

그 래 서 ..........파이선에는 복잡한 데이터를 List 개념을 통해 데이터 type에 나열하여 쉽고 간결하게 표현 할수 있게 하였고 변수 타입 선언이나 변수의 선언 등이 필요 없도록 만들어 놓았습니다..


예를 들어 아래 영화 제목이 나열되어 있는  List가 있습니다

The Holy Grail

The Life of Brian

The Meaning of Life


파이썬에서는 간단하게 아래 2가지와 같이 표현할수 있습니다.

1) movies = [ "The Holy Grail",

"The Life of Brian",

"The Meaning of Life"]

2) movies = ["The Holy Grail", "The Life of Brian", "The Meaning of Life"]

가장먼저 " 따음표로 각각의 이름을 string 으로 변환하고 

, 콤마로 각각의 List로 나눈뒤에

[] 브라켓으로 모든 ITEM을 둘러싸면 

movies 라는 Lisit 에 "=" assignment operator 연산자를 통해 대입

간단하지 않나요..?


파이선에도 List를 생성할 때 메모리 구조에 stack 같이 데이터를 쌓게 되고.. C와 같은 타 랭귀지와 처럼 0번부터 stack 의 numbering이 시작됩니당..

아이템 0번  = "The Holy Grail", 아이템 1번 = ""The Life of Brian" ~~ 

그래서....

print(movies[0]) 출력하게 된다면... The Holy Grail 나오게 되겠죠..



'Python_Study' 카테고리의 다른 글

Flask 정리  (0) 2015.02.05
52장 카드만들기  (0) 2014.08.20
[python] xlwt - Excel 생성 모듈  (0) 2014.01.09
python 변수 데이터 type  (0) 2013.12.10
파이썬에서 쉘 명령을 수행하는 방법  (0) 2013.12.06
Posted by 뭉탁거림
,

1. 파이선의 변수는 메모리 영역에 C, JAVA와는 다르게 선언을 할 필요가 없다..

단순히 변수의 선언은 변수에 값을 대입할때 즉 "=" 을 통해 간단히 변수를 선언하고 사용할수 있다


#!/usr/bin/python

counter = 100 # An integer assignment 

miles = 1000.0 # A floating point 

name = "John" # A string


2 파이선 변수는 Multiple Assignment 를 지원한다..

#!/usr/bin/python

a = b = c = 1 : a,b,c 3개 변수 모두 동일 메모리에 저장됨

a, b, c = 1, 2, "john"


하지만.. 파이선에서도 standard 한 데이터 타입은 존재한다.

아래 5가지의 데이터 타입이 있다

 Numbers : number type (int, long, float, complex)

 String : str = 'Hello World!'

 List : ,(콤마)로 이루어진 다재다능한 데이터 타입 , Lists are enclosed in brackets ( [ ] )

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]

 Tuple : (), 로 선언됨, 오직 read-only 한 변수 

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2 )

 Dictionary :  key-value 쌍으로 이루어지고, curly braces " {} " 이루어짐

예제)

#!/usr/bin/python

dict = {}

dict['one'] = "This is one"

dict[2] = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}


print dict['one'] # Prints value for 'one' key

print dict[2] # Prints value for 2 key 

print tinydict # Prints complete dictionary : {'dept': 'sales', 'code': 6734, 'name': 'john'}

print tinydict.keys() # Prints all the keys : ['dept', 'code', 'name']

print tinydict.values() # Prints all the values : ['sales', 6734, 'john']

'Python_Study' 카테고리의 다른 글

Flask 정리  (0) 2015.02.05
52장 카드만들기  (0) 2014.08.20
[python] xlwt - Excel 생성 모듈  (0) 2014.01.09
[python] List  (0) 2013.12.17
파이썬에서 쉘 명령을 수행하는 방법  (0) 2013.12.06
Posted by 뭉탁거림
,

os.system()과 

commands.getoutput() 

전자는 그냥 리눅스 명령을 실행합니다. 
후자는 실행하고 나서 그것의 결과를 되돌려 주는 함수입니다. 


#!/bin/usr/python


import os

import commands


os.system("ls -al")

pwd=commands.getoutput("pwd")



'Python_Study' 카테고리의 다른 글

Flask 정리  (0) 2015.02.05
52장 카드만들기  (0) 2014.08.20
[python] xlwt - Excel 생성 모듈  (0) 2014.01.09
[python] List  (0) 2013.12.17
python 변수 데이터 type  (0) 2013.12.10
Posted by 뭉탁거림
,