スポンサーサイト
新しい記事を書く事で広告が消せます。
paramiko インストール
■PythonでSSH
Windowsでparamikoを使う。
以下インストール手順。
paramiko
http://www.lag.net/paramiko/
ここからとりあえず、zipファイルを落として適当なとこに解凍。
さっそくインストールしたいとこだけど、
使うにはコイツ pycriprt も必要。入れないで使ったらエラーがでたよ・・・。
http://www.voidspace.org.uk/python/modules.shtml#pycrypto
ここにexeが置いてあるので、Pythonのバージョン合った物を落としてポチってけばおk。
■paramikoのインストールも簡単。
1. cdコマンドで、解凍したフォルダに移動。
2. python setup.py build
3. python setup.py install
これで完了。setuptoolsを使えば、こんなことをするまでもないみたいだが。
■実際に使用してみる
以下のエントリを参考にして、試してみれば、問題なくできるはず。
Python で SSH は paramiko + ssh で楽勝
http://plaza.rakutenco.jp/kugutsushi/diary/200806190001/
ssh.pyは以下のパスに配置すれば良し。
\Python26\Lib\site-packages
そして、以下のようなコードを書いて、完了。
import ssh print "SSH START" ipadr = raw_input('IP Address:') s = ssh.Connection(ipadr, |
put ・・・ ファイルを送信
get ・・・ ファイルを受信
execute ・・・ コマンドを実行
上記のコードは、Linuxサーバに接続して、コマンドを実行しているだけ。
簡単。簡単。
#Windows Live Writer 便利だなぁ
[Python]引数を取得する
引数を取得する
---------------------------------
# -*- coding: utf-8 -*-
import sys
if len(sys.argv) != 2:
print u'引数は2つ指定してください'
quit()
print sys.argv
print sys.argv[1]
---------------------------------
quit()はプログラムの終了をする。
引数が2つじゃなかったら、終了する。
と・・・コードを書くのは、簡単だけど
Eclipseで引数渡してデバッグするなら、少し設定が必要。
■Eclipseで引数を渡す方法
http://www.csg.is.titech.ac.jp/~kourai/lecture/eclipse/args.html
記載されているのはJavaだけど、ほぼ一緒。
最初の手順の「Run....」を選択のとこが「Run Configuretions...」が違うくらい。
これで引数渡して実行できる訳だけど、Eclipseでもっと手軽に引数渡して、デバッグできないものか・・・。
探せばあるんかな。
[Python]ファイルの存在確認
ファイルの存在確認を行う。
以下のライブラリを使用する。
exists(path)
http://www.python.jp/doc/2.4/lib/module-os.path.html
---[使用例]-----------------------
import os
filepass = ('C:/pythontest.txt')
print os.path.exists(filepass)
----------------------------------
>Ture
存在しない場合は"false"と出力される。
活用例としては、こんな感じか。
---[活用例]-----------------------
# -*- coding: utf-8 -*-
import os
filepass = ('C:/pythontest.txt')
print os.path.exists(filepass)
if(os.path.exists(filepass)):
print u'ゴンザギギラグ'
else:
print u'ゴンザギギラゲン'
----------------------------------
# -*- coding: utf-8 -*-
で日本語使えるようにして・・・
ファイルが存在したら"ゴンザギギラグ"と表示。
存在しない場合は、"ゴンザギギラゲン"と表示。
printで表示してる文に関しては、ここを参照。
このネタだけをやりたいがために、こんな簡単な活用例を書いた。
[Python]ファイルの更新時間を取得
ファイルの更新時間を取得。
以下のライブラリを使用する。
http://www.python.jp/doc/2.4/lib/module-stat.html
---[使用例]-----------------------
import os
from stat import *
timeget = os.stat("C:\pythontest.txt")
print timeget[ST_MTIME]
----------------------------------
これで最終更新時間が取得されるが、表示される形式は以下のようになる。
>1264323806
エポックタイムというらしい。
これだと分かりにくいので、表示形式を変更する。
timeライブラリを追加する。
http://www.python.jp/doc/2.5/lib/module-time.html
---[使用例]-----------------------
import os
import time
from stat import *
timeget = os.stat("C:\pythontest.txt")
time_ctime = time.ctime(timeget[ST_MTIME])
output_fmt = '%Y/%m/%d %H:%M:%S'
time_fmt = time.strftime(output_fmt,time.localtime(timeget[ST_MTIME]))
print time_ctime
print time_fmt
----------------------------------
以下の出力形式になる
>Sun Jan 24 18:03:26 2010
>2010/01/24 18:03:26
wxpythonインストール
本家:http://www.wxpython.org/
pythonでGUIやってみたいなと思って調べてみたら、wxpythonの情報が多かったので
さっそくWindows版を試してみた。
その仮定で良質(そうな)サイト発見。
wxPython Index
http://harukaze.net/~haruka/wxpython/
ここを参照すれば、基本的なことはできそうだ。
インストールは簡単。
本家サイトのカテゴリDownLoadの"Prerequisites"からPythonのバージョンに合わせたインストーラを取得
#Python2.6のverwin32-unicodeを落としました。

セットアップは、全てデフォルトでおk。
・
・
・
・
さっそく上記サイトを参照して(コピペして)書いてみる。
--------------------------------------
import wx
class MyApp(wx.App):
def Oninit(self):
Frm = wx.Frame(None,-1,"test")
Frm.Show()
Btn = wx.Button(Frm,-1,"push")
return 1
app = MyApp()
app.MainLoop()
--------------------------------------
しかし・・・動かない。
( ・3・)アルェー
さっそくつまづいた?
よくよく見てみると、関数"Oninit"を呼んでないような・・・
こうすればよいのでのは。
--------------------------------------
import wx
class MyApp(wx.App):
def Oninit(self):
Frm = wx.Frame(None,-1,"test")
Frm.Show()
Btn = wx.Button(Frm,-1,"push")
return 1
app = MyApp()
app.Oninit()
app.MainLoop()
--------------------------------------
こうしたら動きました。
ろくに考えないで、コピペするから・・・。
#追記記事書きました。
中途半端なコピペとタイプミスが原因だよ!
実行結果

これでpythonでもGUIプログラミングできる環境が整いました。
■おまけ
wxpython使うときもEclipseでコード補完したい場合。
ちょっとした設定が必要です。
ネットで調べたら発見。
Eclipse(Pydev)でwxPythonのコード補完機能を使う【小ネタ】
http://d.hatena.ne.jp/lolloo-htn/20090725/1248525375
まんま上記記事に従って設定していけば、以下のように便利になります。
