Monthly Archives: 12月 2013

Pythonの中でDOMでXMLサンプルを作成

仕様:
xml.dom.minidom
輸出:
b’\n\n\tHelloWorld\n\n’
ファイルを出力すれば、ファイルはバイナリで開く必要がある。

サンプルコード:
dom_xml.py

import xml.dom.minidom
doc = xml.dom.minidom.Document()
resource = doc.createElement(‘resources’)
doc.appendChild(resource)
string = doc.createElement(‘string’)
string.setAttribute(‘name’, ‘こんにちは’)
value = doc.createTextNode(‘こんにちは’)
string.appendChild(value)
resource.appendChild(string)
print(doc.toprettyxml(encoding=’utf-8′))

複数の文字列が含まれてファイルを検索

仕様:指定されたディレクトリとファイルの種類の下で複数の文字が含まれてファイルを検索する
実行コマンド:python getfile.py  パス ファイルタイプ  キーワード  多数のキーワードの中にスペースがある
例えば:python getfile.py d:\java .java

#encoding:shift-jis
import os, sys

find_text = sys.argv

diro = find_text[1]
filetype = find_text[2]

print ‘\n検索ディレクトリ %s’ % diro
print ‘検索ファイルタイプ %s’ % filetype
print ‘キーワード: ‘,’ ‘.join(find_text[3:])

print ‘\n\nキーワードが含まれているファイルをクエリされた:\n’
for root, subdirs, filename in os.walk(diro):
for i in filename :
if (i.endswith(filetype)):
infile = open(root+’\\’+i, ‘r’)
content = infile.read().lower()
for j in find_text[3:]:
if j in content:
sts = True
else:
sts = False
break
if sts == True:
print root+’\\’+i

Pythonで時間を検索

仕様:5分ごとに一回タスクを実行している、必要な時間間隔で任意時間が変更する。
一つの方法で現在タスクを実行するかどうか判断する。

例えば:script_begin_timeは10:00~計算して、前回判断時間update_time=10:05
現在時間10:12,間隔時間は5分のタスクです。間隔4分なら、即10:08 10:12 間隔3分なら
10:06 10:09 10:12

サンプルコード:
def compTime(script_begin_time, update_time, time_interval):
“””
@begin_time: プログラム開始時間(変わりません),Type=time
@update_time: 前回のタスク時間,Type=time
@time_interval: 時間間隔Type=int

@return [time,]戻す、ある時間間隔条件でどのタイミングで実行タスクを調べる
“””
now = time.time()
interval = time_interval * 60
m = int((now – script_begin_time)/interval)
n = int((update_time – script_begin_time)/interval)
li = []
for i in range(m-n):
t = (n+i+1) * interval + script_begin_time
li.append(t)
return li

Accelerated Scrollingのダウンロード

ダウンロード:
提供元サイトからダウンロード
特徴:
マウスホイールの回転速度に合わせて、画面を高速にスクロールする “ 加速スクロール ” を、ほとんどのアプリケーション上で実行できるようにしてくれます。
機能を一時的に無効化させたくなったら、「Win」 キーを押しながらマウスホイールを上へと回転させます。
終了させる時は、タスクトレイ上の 「Accelerated Scrolling」 を右クリックして 「Quiet」 を選択します。

TrackScroll Ver1.83のダウンロード

ダウンロード:
提供元サイトからダウンロード
特徴:
マウスホイールやスクロールバーを使わずとも、画面をスクロールできるようにするソフト。 特定の操作+マウスを動かすだけ で、画面をスクロールできるようにします。
os:
98/Me/NT/2000/XP

Pythonでmysqlを操作する(追加、削除、修正、検索)

言語バージョン:
python2.6
中身:
#!/usr/bin/env python
#coding:utf-8
# Author: arkgame.com
# Purpose:mysqlの各種操作の勉強
# Created: 2013/12/2
import MySQLdb
try:
#MySQLを接続する方法:connect(‘ip’,’user’,’password’,’dbname’)
#conn=MySQLdb.connect(host=’localhost’,user=’root’,passwd=’654321′,db=’test’)
conn =MySQLdb.connect(‘127.0.0.1′,’root’,’654321′,charset = ‘utf-8’)
conn.select_db(‘python’)
cur=conn.cursor()
sql1 = ‘drop database python’ #データベースの削除
sql2 = ‘create database if not exists python’ #存在しない場合はデータベースを作成する
sql3 = ‘create database python’
sql4 = ‘create table module(m_id int not null,m_name VARCHAR(25),m_size int)’#テーブルの作成
sql5 = ‘create table if not exists demo(d_id int not null,d_name varchar(25),m_size int default 0)’
values=[]
for i in range(1):
values.append((i,’mysql’,i+1))
sql6 = ‘insert into module values(%s,%s,%s)’
#cur.executemany(sql6,values) #一括挿入
values = [1,’MySQLdb’,5]
sql6 = “insert into module VALUES(‘%d’,’%s’,’%d’)”%(2,’MySQLdb’,7) #挿入
#sql6 = “insert into module(m_id,m_name,m_size) VALUES(‘%d’,’%s’,’%d’)”%(2,’MySQLdb’,7)
#sql6 = “insert into module(m_id,m_name,m_size) VALUES(‘%d’,’%s’,’%d’)”%(values[0],values[1],values[2])
sql7 = “update module set m_name=’MySql’ where m_id=0 and m_size=0” #修正
sql8 = “delete from module where m_id=1 and m_size=0” #削除
sql9 = “select * from module where m_id=1”
cur.execute(sql9)
count = cur.execute(sql9) #検索の数量
print u’検索結果の数:’,count
result = cur.fetchone()
print u’単一のクエリ結果:’,result
result = cur.fetchmany(2)
print u’多数のクエリ結果:’,result
result = cur.fetchall()
print u’すべての異なるクエリ結果:’,result
for data in result:
print data
conn.commit()
cur.close()
conn.close()
except MySQLdb.Error,e:
print “Mysql Error %d: %s” % (e.args[0], e.args[1])

ファイルを読み込んで行目処理を行う

import os ## for os.path.isfile()

def dealline(line) :
print(line) ## lineというパラメータ

def getfilename() :
return input(‘ファイル名を入力してください(input exit() for exit):’).strip()

class more : ## MORE機能
linenum = 0
size = 10
def work(self) :
if self.linenum >= self.size :
if input(‘–MORE–‘).strip().lower() == ‘exit()’ :
return False
self.linenum = 0
else :
self.linenum += 1
return True

while True :
try :
filename = getfilename()

if filename.lower() == ‘exit()’ : ## ログアウト
break

if os.path.isfile(filename) : ## ファイルが存在するかどうかを確認する

f = open(filename)
try :
lines = f.readlines()

m = more()
for line in lines:
if False == m.work() :
break
dealline(line)

## input()
finally :
f.close()

else :
print(‘ファイルが存在しません.’)
##input()
except :
print(‘入力エラー!’)

スタートアップ管理ツールStartup Delayer 3.0.357のダウンロード

ダウンロード:
提供元サイトからダウンロード
特徴:
Added prompt to install .net 3.5 if System.ServiceModel couldn’t be found
Added Localization Version information to the About screen
Modified the Backup Location and Startup Profiles location to be read only to ensure no invalid inputs can be entered
Added test for missing Administrator rights when installing/uninstalling and prompt user
Fixed the XmlUpgrader to allow paths with an extra \ on the end
Added additional prompts and fallbacks if Dot net 3.5 is not installed or appears corrupt
Added the ability to drag and drop manual items in between others. When dropping Startup Delayer will set a value half way between the two dropped values
Tidied up the Tab order in the Edit window

Python言語 Send email

#!/usr/bin/env python
# encoding: utf-8
#
# filename: sendemail.py
#

import os.path
import smtplib
import email.Header
import email.MIMEMultipart
import email.MIMEText
import email.MIMEBase
import email.Encoders
import mimetypes

class Email:
def __init__(self, **kwg):
self._setting = dict(kwg)

def send(self, msg):
smtp = smtplib.SMTP(
self._setting.get(‘server’),
self._setting.get(‘port’, 25)
)
msg[“From”] = self._setting.get(‘From’)
smtp.sendmail(
msg[‘From’],
msg[‘To’].split(‘,’)+
msg[‘Cc’].split(‘,’),
msg.as_string()
)
smtp.quit()

def writemail(coding=’utf-8′, **kwg):
msg = email.MIMEMultipart.MIMEMultipart()
msg[“To”] = kwg.get(‘To’, ‘me@arkgame.com’)
msg[“Cc”] = kwg.get(‘Cc’, ”)
msg[‘Date’] = email.Utils.formatdate()
msg[“Subject”] = email.Header.Header(
kwg.get(‘Subject’, ‘No Subject’), coding)
msg.attach(email.MIMEText.MIMEText(
kwg.get(‘Context’).encode(coding),
_charset=coding))
return msg

def attach(msg, file_name):
# MIMEBaseオブジェクトを作成
ctype, encoding = mimetypes.guess_type(file_name)
if ctype is None or encoding is not None:
ctype=’application/octet-stream’
maintype, subtype = ctype.split(‘/’, 1)

## ファイルの内容と形式を読む
with open(file_name, ‘rb’) as data:
file_msg = email.MIMEBase.MIMEBase(maintype, subtype)
file_msg.set_payload(data.read())

##添付ヘッダの設定
basename = os.path.basename(file_name)E
file_msg.add_header(‘Content-Disposition’,
‘attachment’, filename = basename)
email.Encoders.encode_base64(file_msg)
msg.attach(file_msg)
return msg

def _tester():
msg = writemail(
To = ‘someone@example.com’,
Subject = u’データ統計’,
Context = u’Please see the attachment.’,
)
attach(msg, u’../rpt/sys_monitor.zip’)
Email(
server = ‘smtp.163.com’,
From = ‘someone@example.com’
).send(msg)

if __name__ == ‘__main__’:
_tester()

openSUSE 13.1 のダウンロード

ダウンロード:
提供元サイトからダウンロード
様々なアプリケーションを利用して、チェックサムによるダウンロードの検証を行なうことができます。ダウンロードの検証を行なうことは、ダウンロードした ISO ファイルが壊れていないことを確認するのに重要な作業です。 なお、ダウンロード時にファイルを検証することもできます。

1 / 3912345...102030...最後 »