Contents
- コマンドライン引数の利用
- 指定ディレクトリ以下のファイルパスを取得する
- 現在時刻を取得する
- 処理時間計測
- デジタル時計
- ビューア (1)
- ビューア (2)
- 文字コード変換
- マーカー表示
- ドットで始まるファイルを削除する
- 16進数を10進数に変換
コマンドライン引数の利用
py_basic_cline.py ソースコード
# -*- coding: utf-8 -*- import sys argvs=sys.argv argc=len(argvs) print(argc) print(argvs) for i,s in enumerate(argvs): print(i,s) # example of an execution # python3 py_cline.py a b c # 4 # ['py_cline.py', 'a', 'b', 'c'] # 0 py_cline.py # 1 a # 2 b # 3 c
指定ディレクトリ以下のファイルパスを取得する
py_basic_file.py ソースコード
# -*- coding: utf-8 -*- import os path='/Users/katsu_kubota/DATA_WANtaroHP_mac' file_list=[] for root,dirs,files in os.walk(path): for file in files: file_list.append(os.path.join(root,file).replace('/Users/katsu_kubota/DATA_WANtaroHP_mac/','')) for result in file_list: if ('dir_' in result)==True and ('.DS_Store' in result)==False: print(result)
現在時刻を取得する
py_basic_dtime.py ソースコード
# -*- coding: utf-8 -*- import datetime mdic={ 1:'January',\ 2:'February',\ 3:'March',\ 4:'April',\ 5:'May',\ 6:'June',\ 7:'July',\ 8:'August',\ 9:'September',\ 10:'October',\ 11:'November',\ 12:'December',} d = datetime.datetime.today() print(d) print('%02d %s %4d at %02d:%02d:%02d\n'\ % (d.day,mdic[d.month],d.year,d.hour,d.minute,d.second))
処理時間計測
py_basic_time.py ソースコード
# -*- coding: utf-8 -*- from datetime import datetime t_start=datetime.now() for i in range(10000): for j in range(10000): pass t_stop=datetime.now() print(t_stop-t_start) print(t_start) print(t_stop)
デジタル時計
py_basic_digit.py ソースコード
# -*- coding: utf-8 -*- #http://www.geocities.jp/m_hiroi/light/pytk07.html from tkinter import * from time import * def show_time(): buff.set(strftime('%H:%M:%S (%a %d %b %Y)')) root.after(1000, show_time) root = Tk() buff = StringVar() buff.set('') Label(root,textvariable=buff,font='arial 14',relief=FLAT).pack() show_time() root.mainloop()
ビューア (1)
py_basic_imshow0.py ソースコード
from PIL import Image img=Image.open('fig_hist.png') img.show()
ビューア (2)
py_basic_imshow1.py ソースコード
from tkinter import * import tkinter.filedialog from PIL import Image def open_callback(): file_name=tkinter.filedialog.askopenfilename(initialdir='/Users/katsu_kubota/') img=Image.open(file_name) text='info: '+img.format+' ('+str(img.size[0])+','+str(img.size[1])+') '+img.mode listbox.insert(END, file_name) listbox.insert(END, text) print(file_name) print(text) img.show() #Menu root = Tk() menu = Menu() root.config(menu=menu) file_menu = Menu(menu, tearoff=0) file_menu.add_command(label='Open', command=open_callback) file_menu.add_separator() file_menu.add_command(label='Exit', command=root.destroy) menu.add_cascade(label='File', menu=file_menu) #Listbox listbox = Listbox(root,width=50) listbox.pack() mainloop()
文字コード変換
py_basic_conv_su.py ソースコード
# -*- coding: utf-8 -*- import os import codecs str1s='<meta charset="shift_jis">' str1u='<meta charset="utf-8">' str2s='<meta http-equiv="Content-Type" content="text/html;charset=shift_jis">' str2u='<meta http-equiv="Content-Type" content="text/html;charset=utf-8">' str3s='#! coding: Shift_JIS' str3u='# -*- coding: utf-8 -*-' str4s='# coding: Shift_JIS' str4u='# -*- coding: utf-8 -*-' f_list=[] #dir0='c:¥DATA_WANtaro¥Fixed_WANtaroHP' dir0='d:¥WAN1' for root, dirs, fname in os.walk(dir0): for fname1 in fname: if '.html' in fname1: f_list=f_list+[os.path.join(root,fname1)] if '.css' in fname1: f_list=f_list+[os.path.join(root,fname1)] if '.txt' in fname1: f_list=f_list+[os.path.join(root,fname1)] for f in f_list: print(f) try: fin = codecs.open(f, 'r', 'shift_jis') data=fin.read() fin.close() except: pass try: fin = codecs.open(f, 'r', 'utf-8') data=fin.read() fin.close() except: pass try: fin = codecs.open(f, 'r', 'euc-jp') data=fin.read() fin.close() except: pass data=data.replace(str1s,str1u) data=data.replace(str2s,str2u) data=data.replace(str3s,str3u) data=data.replace(str4s,str4u) fout = codecs.open(f, 'w', 'utf-8') fout.write(data) fout.close() pass
マーカー表示
py_basic_marker.py ソースコード
from matplotlib import rcParams rcParams['font.family'] = 'sans-serif' rcParams['font.sans-serif'] = ['Arial'] import matplotlib.pyplot as pl ml=( ('.','point'), (',','pixel'), ('o','circle'), ('v','triangle_down'), ('^','triangle_up'), ('<','triangle_left'), ('>','triangle_right'), ('1','tri_down'), ('2','tri_up'), ('3','tri_left'), ('4','tri_right'), ('8','octagon'), ('s','square'), ('p','pentagon'), ('*','star'), ('h','hexagon1'), ('H','hexagon2'), ('+','plus'), ('x','x'), ('D','diamond'), ('d','thin_diamond'), ('|','vline'), ('_','hline'), ('$\sum$','TeX') ) fig=pl.figure() pl.xlim(0,6) pl.ylim(25,0) for i,k in enumerate(ml): pl.plot(1,i+1,linestyle='None',marker=k[0],markersize=10,markerfacecolor="w",markeredgecolor="b",markeredgewidth=1,label=k[1]) pl.legend(shadow=True,title='Marker',loc='upper right',ncol=2) #pl.legend(shadow=True,title='Marker',loc='upper right', prop={'size',14},ncol=2) pl.savefig('fig_marker.png',dpi=200) pl.show()
fig_marker.png |
---|
ドットで始まるファイルを削除する
py_dotdel.py ソースコード
import os,sys def getStructure(dirpath,depth=0): root=os.path.basename(dirpath) contents = os.listdir(dirpath) contents.sort() for content in contents: if content=='.' or content=='..': continue fullPath=os.path.join(dirpath,content) if os.path.isdir(fullPath): getStructure(fullPath,depth+4) elif os.path.isfile(fullPath): text=fullPath text=text.split('/') for i in range(0,len(text)): if text[i].startswith('.')==True: print(fullPath) os.remove(fullPath) if __name__ == '__main__': for path in sys.argv[1:]: getStructure(path)
16進数を10進数に変換
色指定を行う 2文字 x 3 の 16 進表示を,3 個の 10 進数に変換します. 入力はキーボードより「ffaa00」のように行います.
py_16to10.py ソースコード
s=str(input()) v1=int(s[0:2],16) v2=int(s[2:4],16) v3=int(s[4:6],16) print(v1,v2,v3)