かべぎわブログ

ブログです

Pythonのprintにアスタリスクをわたすことで配列やタプルを分解することができる

概要

しらなかったのでメモ。
Pythonで配列をprintするときに[]とか,とかがじゃまだなーとおもっていたらそれを解決するほうほうがあった。

解決方法

printする際にアスタリスクをつけてあげるだけでOK
たとえばこんなかんじの配列があったとする

wawawa_array = [1,2,3]


ふつうにprintするとこんなかんじになってしまうけれど

>>> print(wawawa_array)
[1, 2, 3]


アスタリスクをつけてあげるとこんなかんじで中身だけ出力してくれる。

>>> print(*wawawa_array)
1 2 3

おわりに

タプルでもおなじことができるよ。



Pythonプロフェッショナルプログラミング第3版

Pythonプロフェッショナルプログラミング第3版

Pythonでgrepみたいなことをしてみる

概要

Pythonを利用してgrepみたいなことをしてみたいと思います。

スクリプト例

だいたいこんなかんじ。
words_arrayのそれぞれの要素の中にwaという文字が存在するかどうかを確認したい。

grep_word = 'wa'
words_array = ['maeda','tanaka','wasabi']

for i in range(0,len(words_array)):
    if words_array[i].find(grep_word) >= 0:
        print(words_array[i])

それらは文字列全部.find(さがしたい文字列)で得ることができます。



うごかしてみるとこんなかんじになる。

$ ./grep.py 
wasabi

おわりに

やっぱりgrepってべんり



エキスパートPythonプログラミング 改訂2版 (アスキードワンゴ)

エキスパートPythonプログラミング 改訂2版 (アスキードワンゴ)

  • 作者: Michal Jaworski,TarekZiade,稲田直哉,芝田将,渋川よしき,清水川貴之,森本哲也
  • 出版社/メーカー: ドワンゴ
  • 発売日: 2018/02/26
  • メディア: Kindle版
  • この商品を含むブログを見る

肉寿司と深夜特急とプリンシプルオブプログラミング_無職日記020~022

よこはまで肉寿司たべた。
おいしかった。
f:id:kabegiwakun:20181022191731p:plain



深夜特急全部読んだ。
やっぱ香港・マカオがおもしろかったんだなーとおもった。
来月あたりいってくる。
f:id:kabegiwakun:20181022192044p:plain  

深夜特急(1?6) 合本版

深夜特急(1?6) 合本版



プリンシプルオブプログラミング読んだ。
もう3年目じゃないけれど。
よかった。

f:id:kabegiwakun:20181022192213p:plain



Pythonでテキストファイルの内容を編集してみる

概要

Pythonを利用してテキストファイルの内容を編集して見たいと思います。

やってみる

たとえばこんなかんじのテキストファイルがあるとする。

$ cat ~/Downloads/sasasa.txt 
AAA
BBB
CCC
DDD
EEE



こんなかんじのスクリプトで編集することができる。
ファイルを追記形式(openの第二引数に'a')でopenしたあとに.write(編集したい内容)を入力している。

import os
from pathlib import Path

home_directory = str(Path.home())
file_path = home_directory + '/Downloads/sasasa.txt'

text_file = open(file_path,'a')

text_file.write('wawawa\n')
text_file.close()



テキストファイルが編集されていることがわかります。

$ cat ~/Downloads/sasasa.txt 
AAA
BBB
CCC
DDD
EEE
wawawa

ちなみに

ファイルを編集形式(openの第二引数に'w')でopenした場合は既存の内容はすべて書き換えられてしまいます。

text_file = open(file_path,'w')
text_file.write('wawawa\n')
$ cat ~/Downloads/sasasa.txt 
wawawa



リダイレクトの>>>みたいなもんです。
openするファイルが存在しない場合は追記モードでも編集モードでも新たなファイルが生成されます。
そこもリダイレクトと一緒です。



エキスパートPythonプログラミング 改訂2版 (アスキードワンゴ)

エキスパートPythonプログラミング 改訂2版 (アスキードワンゴ)

  • 作者: Michal Jaworski,TarekZiade,稲田直哉,芝田将,渋川よしき,清水川貴之,森本哲也
  • 出版社/メーカー: ドワンゴ
  • 発売日: 2018/02/26
  • メディア: Kindle版
  • この商品を含むブログを見る

Pythonでテキストファイルの内容を1行ずつ読み込んで処理する

概要

Pythonを利用してテキストファイルの内容を1行ずつ読み込んで処理してみたいと思います。

実際にやってみる

こんかなんじのテキストファイルがあるとする。

$ cat ~/Downloads/sasasa.txt 
AAA
BBB
CCC
DDD
EEE

ファイルをopenしたあとにreadlines()をつかうことでテキストファイルの内容を改行区切りでリストに格納することができます。

import os
from pathlib import Path

home_directory = str(Path.home())
file_path = home_directory + '/Downloads/sasasa.txt'

text_file = open(file_path)
content = text_file.readlines()

print(content)

実行してみるとこんなかんじ

$ ./fileopen.py 
['AAA\n', 'BBB\n', 'CCC\n', 'DDD\n', 'EEE\n']

それをループでまわしてあげればいいかんじにいろいろできるはず。

for i in content:
    print('aaa'+i,end='')
aaaAAA
aaaBBB
aaaCCC
aaaDDD
aaaEEE

おわりに

Pythonはシェルスクリプトの上位互換になれるか???



Pythonでローカルのテキストファイルの内容を読み込む

概要

Pythonを利用してローカルにあるテキストファイルの内容を読み込んでみたいと思います。

実際にやってみる

こんなかんじのテキストファイルを用意します。

$ cat ~/Downloads/sasasa.txt 
AAA
BBB
CCC
DDD
EEE



それをこんなかんじで開くことができます。
open(ファイルのPATH)でテキストファイルを読み込み、read()でその内容を読み込むことができます。

import os
from pathlib import Path

home_directory = str(Path.home())
file_path = home_directory + '/Downloads/sasasa.txt'

text_file = open(file_path)
content = text_file.read()

print(content)



実行するとこんなかんじ。

$ ./fileopen.py 
AAA
BBB
CCC
DDD
EEE

おわりに

シェルスクリプト的な感じでの使い方がはかどりそう。



独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで

Pythonのfindall()で正規表現で一致した文字列をすべて取得する

概要

Pythonのfindall()メソッドを利用して正規表現で一致したすべての文字列を取得してみます。

実際にやってみる

たとえば以下のようなかんじ。

import re

wawawa = 'by the way kabegiwablog is GODblog'

blog_name = re.compile(r'[^\s]*blog')

search_result = blog_name.search(wawawa)
print(search_result.group())

findall_result = blog_name.findall(wawawa)
print(findall_result)

findall_resultをprintすると以下のようになります。

['kabegiwablog', 'GODblog']

searchだと最初に一致したもののみしか取得できません。

kabegiwablog

おわりに

べんり

現場で使える Django の教科書《基礎編》

現場で使える Django の教科書《基礎編》

PythonでホームディレクトリのPATHを取得する

概要

Pythonを利用してホームディレクトリのPATHを取得してみたいと思います。

環境

Python 3.5 以上

取得してみる

Path.home()で取得することができます。

from pathlib import Path

home_directory = str(Path.home())
# '/Users/kabegiwa'

おわりに

べんりー


エキスパートPythonプログラミング 改訂2版 (アスキードワンゴ)

エキスパートPythonプログラミング 改訂2版 (アスキードワンゴ)

  • 作者: Michal Jaworski,TarekZiade,稲田直哉,芝田将,渋川よしき,清水川貴之,森本哲也
  • 出版社/メーカー: ドワンゴ
  • 発売日: 2018/02/26
  • メディア: Kindle版
  • この商品を含むブログを見る

Pythonで正規表現を利用する

概要

Pythonで正規表現を使ってみたいと思います。

つかってみる

Pythonでの正規表現はreをimportすることで利用できます。
たとえばいかのようなかんじ。
文字列の中からブログっぽい名前をもってくる。

import re

wawawa = 'by the way kabegiwablog is GOD'

blog_name = re.compile(r'[^\s]*blog')
search_result = blog_name.search(wawawa)

print(search_result.group())
# 'kabegiwablog'

ちょっとした解説

最初にreをインポートしています。
その後re.compileで正規表現を書いています。この際はraw文字列をつかってあげると便利です。
blog_nameというregexのオブジェクトができあがったのでそれをsearch(文字列)で一致する文字列がsearch_resultに格納されます。
最後に.group()でprintしてあげておわりです。

おわりに

ちょっとややこしいか



Pythonで文字列の前後のスペースを取り除く

概要

Pythonを利用して文字列の前後の無駄なスペースを取り除いてみたいと思います。

実際にやってみる

strip()をつかうことで実現することができます。

wawawa = '    kabegiwa blog    '

wawawa.strip()
# 'kabegiwa blog'

文字列中のスペースは取り除かれません。


ちなみにlstlip()rstrip()を使うことでそれぞれ文字列の前と後ろのスペースだけをとりのぞくことができます。

wawawa = '    kabegiwa blog    '

wawawa.lstrip()
# 'kabegiwa blog    '

wawawa.lstrip()
# '    kabegiwa blog'

おわりに

前処理に便利

独学プログラマー Python言語の基本から仕事のやり方まで

独学プログラマー Python言語の基本から仕事のやり方まで

正規表現でスペースを含まない単語だけを一致させる

概要

正規表現を利用してスペースを含まない一つの単語だけを一致させます。
あたりまえというかなんというかなんだけどこれが出てくるまでにわりと悩んだのでメモ。

正規表現

たとえば以下のような文字列のなかからblogが含まれる単語を探すためには

by the way kabegiwablog is GOD


こうするとよい。

[^\s]*blog

おわり

.*blogってやっちゃうとby the wayのところからとれちゃうのよね。



正規表現スーパーショートリファレンス

正規表現スーパーショートリファレンス

ITとZOZOSUITと麻婆まぜそば_無職日記017

これをみた。

おもしろかった。
ホラー感はそこまで強くない。
スタンドバイミーにピエロ足した感じだなーと思ってたらどっちもスティーブンキングだった。
そりゃそうかとおもった。



あとZOZOSUITが届いたのではかってみた。
メタボリックシンドロームではなかった。
f:id:kabegiwakun:20181017205201p:plain
この内容でジーパンをたのんだ。



メタボリックシンドロームではなかったのでラーメンをたべにいった。
らぁ麺やまぐち辣式の麻婆まぜそば
f:id:kabegiwakun:20181017205411p:plain
ハイパーからい。
お風呂上がりかな?くらい汗をかいた。