プログラミンGOO

プログラミングナレッジ、ワードプレス、広告収入等について、気づき・備忘録を残していきます。

Python備忘録

【基本操作】

■日時・日付

print(datetime.date.today())  #2017-11-08
print(datetime.datetime.today())  #2017-11-08 23:58:55.230546

■文字列変換

str(val)

■コンソール出力

print('text')

改行は\n

■javascriptの実行

driver.execute_script('somescript')

■文字列に変数を埋め込む(テンプレートリテラル)

print('%s' + '%s' % (山田, くん)) #山田くん
.format()
f'~{hensu}~'

■リストに要素を追加する

mylist.append('ELM')

【関数】

■While文

while i < 3:
    print(i)
    i += 1

【exe化】

pyinstallerを使用すると簡単にexeファイルにまとめることができる。
配布先にdriverが無くても動作する。
参考:
【超簡単】Python プログラムを pyinstaller で EXE化しよう | 趣味や仕事に役立つ初心者DIYプログラミング入門

pip install pyinstall

・exe化

pyinstaller ●●.py --onefile

※driverを使用している場合は同階層にコピーして置いておく
※フォルダをまたいで複数ファイルで構成されていたとしてもルートとなるファイルを1つ指定すれば、その中のimportの記述から適切に1つのファイルにまとめてくれる。
※distなどフォルダ、ファイルが多々作成されるが、すべて削除してもexeファイルのみで動作する。


【ファイル・フォルダ操作】

■カレントディレクトリを取得

import os
os.getcwd()

■パスの操作

os.path  #この中のメソッドで相対パス、絶対パスなどカスタムできる

■ユーザーエージェント情報の取得

import getpass
getpass.getuser()  #ユーザ名を取得

■フォルダ作成

os.makedirs(path, exist_ok=True)  #すでにフォルダが存在した場合もエラーにしない

■ファイル・フォルダ削除 #中にファイルが存在しても削除可能

shutil.rmtree(pass)

■ファイル・フォルダ移動

shutil.move(from_path, to_path)

■名前を変更、リネーム

os.rename(file_path, new_path)

■ファイルの検索

import glob
file = glob.glob(f'C:/Users/{変数}/*')  #ワイルドカード使用可能

■Excel操作

wb = openpyxl.load_workbook('URL.xlsx')

・シートを選択

ws = wb['URL']

・最終行を取得

end_row = ws.max_row

・各行のセルの値を配列に格納

for i in range(2, end_row + 1, 1):
  arr.append(ws.cell(row=i, column=1).value)

・閉じる

wb.close()

・ソート

arr.sort()

■印刷

driver.execute_script('window.print()')  #javascriptで印刷する

■csvで出力
・基本形

write_obj = csv.witer(open('output.csv','r')) #csvファイルを開きwriterオブジェクトに変換
write_obj.writerow(li)

・ファイルを開く

open('パス/ファイル名','オプション')

※パスの初期値はcd
・オプション

a:追記 w:上書き r:読み取り専用 r+:読み書き

※初期値はr
※新規作成は、指定されたパスに該当するファイルがなければ自動的に新規作成になる

小数のデータ型はfloat
ただ、誤差を含んでいる場合がある
decimalクラスを使うと良い