ホーム > 使った

Python Tips

ガイド

最近のLL言語ではPythonが強いですねー

目次

1本文

履歴

editor唯野
2020.7.25公開
2020.7.30修正

主にScrapyでお世話になっているPythonのメモ。LL言語では長らくPerlを使ってきましたが最近はPythonも使っています。所詮は慣れなのでしょうがPerlとの微妙な違いでハマることが多くメモしておきます。

環境はWindows10 Pro x64、Python 3.8.2です。

導入

公式からpython-3.8.2.exeをDLしてインストールしたらpathを追加して古い3.6(VS2017)の方は削除する。

PS> python -V
Python 3.8.2

PS> pip install --upgrade pip  // pip自身を更新するとき

Python使ったPerl使いあるある

# 全部自分のことです :)

  • 文末にセミコロン ; をつけてしまう
  • 条件節にコロン : がついていない
  • インデントにスペースとタブが混在
  • elsifがelif
  • ++、--がない
  • 中カッコ { } がなくて気味が悪い
  • そのくせPerlの三項演算子や省略形のif文は使う
  • 正規表現で$1、$2 …が使えない
  • re.matchが前方一致と知らずに使う
  • osパッケージ名に違和感を感じる
  • メンバ関数のパラメータにselfをつけ忘れる(shiftしかしないんだもん...)
  • でもモジュールがcpan並かそれ以上に豊富なのは嬉しい

しょーもないことで時間を浪費してるな…

日付文字列の取得

import datetime

today = datetime.date.today()  # 日付のみ
now = datetime.datetime.now()

str = now.strftime("%Y/%m/%d %H:%M:%S")
print(str)

print("{0:%Y-%m-%d %H:%M:%S}".format(now))

str = "[%04d/%02d/%02d %02d:%02d:%02d] " % (now.year, now.month, now.day, now.hour, now.minute, now.second)
print(str)

Scrapy

WebDriverはGeckoDriver(Mozilla)をダウンロードしてc:\bin\geckodriverなどにexeを配置する。

PS> pip install scrapy  // scrapyをインストール
PS> pip install pdfkit  // 他に必要なものをインストール
PS> pip install extractcontent3  // ExtractContext
PS> pip Install bs4  // BeautifulSoup
PS> pip install selenium  // Selenium
PS> pip install html5lib  // パーサ