Pythonコードリファレンス

検索結果


OrderedDict

from collections import OrderedDict
d = OrderedDict()
d['a'] = 0
d['b'] = 1
d['c'] = 2
d['d'] = 3

append

list1 = ['a','b','c']
list1.append('d')

#['a','b','c','d']

re.IGNORECASE

import re

text = "AB2aB2Ab2ab2"
query = re.compile('AB2', re.IGNORECASE)
result = re.findall(query,text)

#['AB2', 'aB2', 'Ab2', 'ab2']

abs

num = -123
abs(num)

#123

sub

pattern = re.compile("置換したい文字")
text = pattern.sub("置換後の文字",text)

dict

dictionary = [['a',1],['b',2],['c',3]]
d = dict(dictionary)

#{'a': 1, 'b': 2, 'c': 3}

pickle

import pickle

data = {'hoge':'huga'}

with open('sample.dat','wb') as f:
    pickle.dump(data,f)

with open('sampe.dat','rb') as f:
    data = pickle.load(f)

try except

text = input('')
try:
    print(int(text))
except:
    print('Not number')

if

x = 1

if x == 'huga':
    pass
elif x == 'hoge':
    pass
else:
    pass

extend

list1 = [0,1,2]
list2 = ['a','b','c']

list1.extend(list2)

#[0, 1, 2, 'a', 'b', 'c']

BeautifulSoup requests html.parser html5lib lxml

from bs4 import BeautifulSoup
import requests

url = 'http://exmaple.com'
html = requests.get(url)
soup = BeautifulSoup(html.content, 'html.parser')

table = soup.table
title_text = soup.title.text
div_class_hoge = soup.find('div',{'class':'hoge'})
all_input_name_hoge = soup.find_all('input',{'name':'hoge'})
a_href = soup.a.get('href')
img_src = soup.img.get('src')

enumerate

alphabet = ['a','b','c','d']
for i,word in enumerate(alphabet,1):
    print(i,word,sep=':')

'''
1:a
2:b
3:c
4:d
'''

re.findall

import re

text = 'abc in abcde'
result = re.findall('(ab)c',text)

#['ab', 'ab']

flask app.run()

from flask import Flask

app = Flask(__name__)
app.debug = True

@app.route("/")
def hello():
    return "Hello, Flask!"

if __name__ == "__main__":
    app.run()

float

num = 10/3
float(num)

#>>>3.3333333333333335

index

words = ['a','b','c']
num = words.index('b')

#>>>1

isinstance

sample = ['ab','a','abc']

#辞書型であるかどうか
isinstance(sample, dict)
#>>>False

#リスト型であるかどうか
isinstance(sample, list)
#>>>True

list

dictionary = {'a': 1, 'b': 2, 'c': 3}
list_from_dic = list(dictionary)

#['a', 'b', 'c']

print sprint lambda

sprint = lambda x,l='-':print(l*30,x,l*30,sep='\n')
sprint('Hello')
sprint('Hello', l='*')

'''
------------------------------
Hello
------------------------------
******************************
Hello
******************************
'''

makedirs

import os

#階層とフォルダを作成
os.makedirs('hoge/huga')

mkdir

import os

#フォルダを作成
os.mkdir('sample')

with open read write

with open('smaple.txt','r',encoding='utf-8') as f:
    text = f.read()
with open('smaple.txt','w',encoding='utf-8') as f:
    f.write('hogehoge')
with open('smaple.txt','a',encoding='utf-8') as f:
    f.write('hugahuga')

range

for i in range(0,4):
    print(i)

'''
0
1
2
3
'''

remove

words = ['a','b','c']
words.remove('a')

#['b', 'c']

round

num = round(10/3, 5)

#3.33333

requirements.txt

pip freeze > requirements.txt

def return

def test():
    return 'Hello.'

text = test()

#Hello.

sorted lambda key reverse

sample1 = ['ab','a','abc']
sample2 = {'b':'2','a':'1','c':'3'}

print(sorted(sample1,key=len,reverse=True))
#['abc', 'ab', 'a']

print(sorted(sample2,key=lambda x:x[0]))
#['a', 'b', 'c']

subprocess

import subprocess

# シェルコマンドでカレントディレクトリにsample.txtを作る例
subprocess.check_output("echo Hello. > sample.txt", shell=True, universal_newlines=True)

set list

li = ['a','a','a','b','b','c']

set(li)
#{'a','b','c'}

list(set(li))
#['a','b','c']    

shutil.copy

import shutil

#左から右へコピー
shutil.copy("/src/src.txt", "/hoge/hoge.txt")

tuple

dictionary = [['a',1],['b',2],['c',3]]
tuple(dictionary)
#(['a', 1], ['b', 2], ['c', 3])

tqdm

from tqdm import tqdm
for i in tqdm(range(10)):
    pass

#実行するとコマンドライン上で下記のように表示される。
'''
100%|█████████| 10/10 [00:00<00:00,43509.38it/s]
'''

webbrowser

import webbrowser

url = 'http://example.com'
webbrowser.open(url)

zipfile

import zipfile

file_path = 'sample.txt'

with zipfile.ZipFile('sample.zip', 'w', zipfile.ZIP_DEFLATED) as z:
    z.write(file_path)

zip

list1 = ['a','b','c']
list2 = ['1','2','3']
list3 = zip(list1,list2)

for a,b in list3:
    print(a,b)
    
'''
a 1
b 2
c 3
'''

re.findall re.DOTALL

#改行も含め検索
import re

text = 'hoge\nhuga\nhoge'
esc = re.findall('hoge(.+?)hoge', text, re.DOTALL)

#['huga']

tinydb

from tinydb import TinyDB, where

#データベースを定義
'''
指定したファイル名が存在しない場合、自動で作成される。
'''
DB = TinyDB('sample.dat')

#データを書き込む
nums = [10,20,30]
for num in nums:
    #辞書型でデータを作成
    data = {'pid':num}
    #すでにpidが同じデータが存在しないかチェック
    if DB.search(where('pid')==num):
        #すでに存在していれば、updateでそのデータを上書き
        DB.update(data, where('pid')==num)
    else:
        #なければ、新しくデータを追加
        DB.insert(data)

'''
後述のeidでupdateの場合は下記
db.update(data, eids=[eid])
'''

#データを読み込む
'''
ファイルをエディタで読み込むと、以下のような構成になっている。
{"_default": {"1": {"pid": 10}, "2": {"pid": 20}, "3": {"pid": 30}}}
'''
allData = DB.all() #すべてのデータをリストで取得
#>>>[{'pid': 10}, {'pid': 20}, {'pid': 30}]
getData = DB.get(where('pid')==10) #データを一つだけ探す
#>>>{'pid': 10}
searchData = DB.search(where('pid')==10) #一致するものをすべてリストで取得s
#>>>[{'pid': 10}]
eid = getData.eid #{"1": {"pid": 10}の"1"がeid
#>>>1

#データを消去する
DB.remove(eids=[eid])
#>>>[{'pid': 20}, {'pid': 30}]
DB.remove(where('pid')==20)
#>>>[{'pid': 30}]
DB.purge() #データを全てリセット

isdir

import os

path = "[パス]"
def main(path):
    # ファイルパスが存在するかどうかの判定
    if os.path.isdir(path):
        print("パスはディレクトリです。")
    else:
        print("パスはディレクトリでないです。")


if __name__ == "__main__":
    main()