Category Archives: python

Pythonで昨日の日付の計算を実現するコード

コード下記
#-*-coding:utf-8-*-
import datetime
def getYesterday(): #
today=datetime.date.today()
oneday=datetime.timedelta(days=1)
yesterday=today-oneday
return yesterday

「Python入門」for、while繰返し処理の使い方

#繰返し処理1
names = [‘Michael’, ‘Bob’, ‘Tracy’]
for name in names:
print name

# 繰返し処理2
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
print x

#繰返し処理3
for x in range(101):
print x

# while
n = 88
while n > 0:
print n
n = n – 2

CentOS7にPython2.7.4、pip環境を作る方法

1.pythonのインスントール
#!/bin/bash
#ソースパッケージのインスントール
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -zxvf Python-2.7.9.tgz
cd Python-2.7.9

#コンパイルのインスントール
./configure
make
make install
2.pipのインスントール
#!/bin/bash
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
3.startnews24_test.py
サンプルコード:
#!/usr/bin/env python
# -*- coding:utf8-*-

print ‘welcome to startnews24’
print(‘welcome to startnews24’)

print ‘startnews24′,’com’
name = raw_input()

実行
python startnews24_test.py

「python学習」pythonでファイルを読み取って、mysqlでデータを挿入する方法

Javaコード:
import os
import mysql.connector

config = {
‘user’: ‘root’,
‘password’: ‘******’,
‘host’: ‘127.0.0.1’,
‘database’: ‘startnews24_com_db’,
‘raise_on_warnings’: True,
}
cnx = mysql.connector.connect(**config)

class ReadFile:
def readLines(self):
f = open(“E:/data_startnews24/2015-3-13.txt”, “r”, 1, “utf-8”)
i=0
list=[]
for line in f:
strs = line.split(“\t”)
if len(strs) != 5:
continue
data=(strs[0], strs[1], strs[2], strs[3], strs[4].replace(“\n”,””))
list.append(data)
cursor=cnx.cursor()
sql = “insert into data_test(uid,log_date,fr,is_login,url)values(%s,%s,%s,%s,%s)”
if i>5000:
cursor.executemany(sql,list)
cnx.commit()
print(“挿入”)
i=0
list.clear()
i=i+1
if i>0:
cursor.executemany(sql,list)
cnx.commit()
cnx.close()
f.close()
print(“ok”)
def listFiles(self):
d = os.listdir(“E:/data_startnews24/”)
return d

if __name__ == “__main__”:
readFile = ReadFile()
readFile.readLines()

「Python初心者」contextlibモジュールを利用する参考ソースコード

例1:
with open(“filename”) as f:
f.read()

例2
class closing(object):
def __init__(self, thing):
self.thing = thing
def __enter__(self):
return self.thing
def __exit__(self, *exc_info):
self.thing.close()

Python開発でInotifyを利用してファイルを監視するサンプルコード

Pythonコード:
# -*- coding:utf-8 -*-

import os
import pyinotify
from functions import *

WATCH_PATH = ” #監視ディレクトリ

if not WATCH_PATH:
wlog(‘Error’,”The WATCH_PATH setting MUST be set.”)
sys.exit()
else:
if os.path.exists(WATCH_PATH):
wlog(‘Watch status’,’Found watch path: path=%s.’ % (WATCH_PATH))
else:
wlog(‘Error’,’The watch path NOT exists, watching stop now: path=%s.’ % (WATCH_PATH))
sys.exit()

class OnIOHandler(pyinotify.ProcessEvent):
def process_IN_CREATE(self, event):
wlog(‘Action’,”create file: %s ” % os.path.join(event.path,event.name))

def process_IN_DELETE(self, event):
wlog(‘Action’,”delete file: %s ” % os.path.join(event.path,event.name))

def process_IN_MODIFY(self, event):
wlog(‘Action’,”modify file: %s ” % os.path.join(event.path,event.name))

def auto_compile(path = ‘.’):
wm = pyinotify.WatchManager()
mask = pyinotify.IN_CREATE | pyinotify.IN_DELETE | pyinotify.IN_MODIFY
notifier = pyinotify.ThreadedNotifier(wm, OnIOHandler())
notifier.start()
wm.add_watch(path, mask,rec = True,auto_add = True)
wlog(‘Start Watch’,’Start monitoring %s’ % path)
while True:
try:
notifier.process_events()
if notifier.check_events():
notifier.read_events()
except KeyboardInterrupt:
notifier.stop()
break

if __name__ == “__main__”:
auto_compile(WATCH_PATH)

参考URL
https://github.com/seb-m/pyinotify

stdinInputモジュールをインポートしてPythonのリストをソートするアルゴリズムを実装

サンプルコード:
#!/usr/bin/env python
#coding=utf-8
#ChooseSort.py
#user can choose sort style: desc(1) or asc(2)

import stdinInput
def chooseSort( sortArray):
arrayl=len(sortArray)
if(arrayl<1):
return

for i in xrange(0,arrayl-1):
min=i;
for j in xrange(i+1,arrayl):
if(sortArray[j]<sortArray[min]):
min=j
sortArray[i],sortArray[min]=sortArray[min],sortArray[i]
if __name__==’__main__’:
stdinInput.stdinInput()
chooseSort(stdinInput.intsortArrays)
print stdinInput.intsortArrays

「Python学習」pythonで二分木(Binary Tree)アルゴリズムを利用するサンプルコード

参考コード:
#!/usr/bin/env python
# coding=utf-8
# inorderBL.py

import stdinInput

def inorder(arrays,arraysize,currentP):
if(2*currentP+1<arraysize):
inorder(arrays,arraysize,2*currentP+1)
print arrays[currentP]
if(2*currentP+2<arraysize):
inorder(arrays,arraysize,2*currentP+2)

if __name__==’__main__’:

stdinInput.stdinInput()
inorder(stdinInput.intsortArrays,len(stdinInput.intsortArrays),0)

Python のリストをバブルソート(bubble sort)アルゴリズムを実装するサンプルコード

サンプルコード
#!/usr/bin/env python
#coding=utf-8
#BubbleSort.py
#user can choose sort style: desc(1) or asc(2)
import sys
import stdinInput

def bubblesort(sortarray,style):
sortarraylen=len(sortarray)
whileNum=0
if style==1:
while whileNum < sortarraylen-1:
for num in xrange(sortarraylen-1,whileNum,-1):
if sortarray[num-1]<sortarray[num]:
sortarray[num-1],sortarray[num]=sortarray[num],sortarray[num-1]
whileNum=whileNum+1
else:
while whileNum < sortarraylen-1: for num in xrange(sortarraylen-1,whileNum,-1): if sortarray[num-1]>sortarray[num]:
sortarray[num-1],sortarray[num]=sortarray[num],sortarray[num-1]
whileNum=whileNum+1

if __name__==’__main__’:
style=1
try:
style=int(sys.argv[1])
except:
print “input argv error, Please use default desc sort”

stdinInput.stdinInput()
bubblesort(stdinInput.intsortArrays,style)

print stdinInput.intsortArrays

「Python学習」pythonでバブルソート(bubble sort)を利用するサンプルコード

サンプルコード:
#!/usr/bin/env python
#coding=utf-8
# stdinInput.py

intsortArrays=[]

def stdinInput():
sortArray=raw_input(“Please input num array you need sort(use , to split every num) :”)
sortArrays=sortArray.split(‘,’)
for num in sortArrays:
intnum=-1
try:
intnum=int(num)
except:
print “Input num array error, error element was given  value -1”
intsortArrays.append(intnum)