You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
背景 Pythonでは大体pytestを使うのですが、序盤でよくこけるけど、毎回原因を忘れてしまって思い出すまでに時間がかかって困る以下のpytest利用時のエラーについての備忘録を書いておきます E ModuleNotFoundError: No module named 'hogehoge' 現状 ここでは以下のディレクトリ構成のプロジェクトを想定しています。 . ├── poetry.lock ├── pyproject.toml ├── src │ └── mypkg │ └── func.py └── tests └── test_mypkg └── test_app.py [tool.poetry] name = "pytest_test" version = "0.1.0" description = "" authors = ["hogehoge"] [tool.p
Pythonに、標準でインストールされている関数だとしても、組み込み関数以外の関数を使うには、先にモジュールを読み込む必要があります。 この「モジュールとは何か?」を理解しておくと、学習の効率が早まります。また、Python では、沢山のモジュールが用意されているということを知っておくことで、将来、必要が出てきた時に、使える関数を自力で見つけられるようにもなります。 そのためにも、ここで詳しく解説しておきたいと思います。 1. Pythonのモジュールとは 1.1. モジュールとは「部品」のこと モジュールとは、元々は、家を立てたり、家具を作ったりする時の、一つ一つの部分(パーツ)のことです。建築の際は、あらかじめ書いている図面の通りに、パーツを作っていき、最後に、それらのパーツを組み合わせて完成させます。 プログラミングもこれと同じで、パーツ毎にファイルを分けて、一つずつ完成させていきま
DjangoやRuby on Railsといったフルスタックフレームワークは、シンプルなCRUDアプリケーションを素早く構築することができるが、複雑なアプリケーションの設計をどうすればよいかという問題にはいつも悩まされる。 どのようなプロジェクトによるかはケースバイケースだが、自分の中でおおよそ固まってきたので、それをまとめてみる。 Djangoの場合、フレームワークが必要とするモジュールはsettings.pyとmodels.pyぐらいなので、各Djangoアプリケーション内では割と自由にモジュールを定義できる。 自分は以下のような自作モジュールを配置するようにしている。 commands query services utils commands まずは、command。このcommandはGoFのCommandパターンのことではなく、Command-Query Responsibil
退屈なことはPythonにやらせよう ―ノンプログラマーにもできる自動化処理プログラミングposted with カエレバAl Sweigart オライリージャパン 2017-06-03 Amazonで検索楽天市場で検索Yahooショッピングで検索 目次 目次 はじめに Can I use python3でライブラリがpython3で利用できるか確認できる pythonのリポジトリの構成 with構文をうまく使う コードのデバッグをするときはテストファイルを作る。 tkinterはバージョン8.0から外見が洗練された ロギングが print より優れている理由 PythonのテストフレームワークにはNoseを使う Python製のCIサーバ Buildbot Pythonの並列処理にはconcurrent.futuresを使う 参考資料 MyEnigma Supporters はじめに P
"csvkit" は CSV ファイルの処理や変換のためのユーティリティ群です。 Python で記述されており、コマンドラインスクリプトとして利用する方法と、 Python のモジュールとして利用する方法があります。 ソースコードのリポジトリとドキュメントはこちらにあります。 Repository - github.com Documentation - csvkit.readthedocs.org インストールする まずは Python の実行環境を整えます。 easy_install か pip を使えるようにして、 インストール用の引数に "csvkit" を指定するとインストールできます。 Python の実行環境が整っていない場合は、 こちらを参考にして virtualenv を使えるようにしておくと色々と便利です。 はじめの一歩 - skitazaki.github.com
フィードバックを送信 CSV ファイルを KML に変換する コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 Google Geo API チーム、Mano Marks 2008 年 3 月 目標 このチュートリアルでは、Python を使用してカンマ区切り値(CSV)データから KML を作成する基本的な方法について説明します。CSV データは、現在最も広く使用されているファイル形式の 1 つです。ほとんどのスプレッドシートとデータベースは、CSV ファイルの読み取りと書き込みの両方に対応しています。シンプルな形式で、テキスト エディタで編集できます。Python などの多くのプログラミング言語には、CSV ファイルの読み取りと書き込みを行うための特別なライブラリがあります。そのため、大量のデータを交換するのに最適な媒体となります。 このチュートリアルの
KMLは、位置情報を表すためのXMLフォーマットで、GoogleMapsやGoogleEarthでも採用されています。AndroidアプリのデモのためにGPSをシミュレートしたいときなどにも使うことができます。 http://ja.wikipedia.org/wiki/KML このKMLフォーマットを、Pythonから生成することができるsimplekmlモジュールの使い方を紹介します。 ドキュメント ドキュメントへは以下のURLでアクセスできます。 http://code.google.com/p/simplekml/wiki/Welcome インストール pipでインストールすることができます。 sudo pip install simplekml 場所の登録 kmlインスタンスにnewpointメソッドでどんどん場所を追加していくだけです。結果のkmlを取得するには、kml.kml(
以前の日記のソースがあまりにもひどかったので修正。 こんな感じでやれば送れます。 from GmailApi import * sg = sendGmail(encoding, subject, body, from_addr, to_addr, login_addr, passwd) sg.sendMail() # 送信 Gmail送信用に書いたクラス ◆GmailApi.py #!/usr/bin/python # -*- coding: utf-8 -*- #@author jojonki #@date 2009/05/027 #gmailでメールを送るためのSMTPライブラリ import smtplib from email.MIMEText import MIMEText from email.Header import Header from email.Utils impo
年1ぐらいは日記書かなきゃ…と思ってたらもうこの時期です。 プライベート 2年連続で年末年始は子供が高熱を出していましたが、今年はなんとか大丈夫そう(鼻水ずびずびですが)。口はどんどん達者になるも頭が追いついていない感じもあり日々叱られていますが元気です。まだ可愛いが一応買っています。 仕事ではNLPerをやっていたつもりがいつの間にか音声合成屋になっていて色々と苦労も多かったです。 ただ論文を出したり、その伝手でコロナ以来初となる海外出張があり、中々充実していたかなぁと思います。ただAI系の進化も早いのでキャッチアップも大変ですたい。。 また去年はたくさん本を読みましたが今年は反動で全然読みませんでしたね。今年はちょっと取り戻したい。 買ってよかったもの Switch2買うつもりなかったのですが、シャインポストが歌声合成使っていたり、そもそも神ゲーと名高かったので、半ば冗談半分で買ってみ
BeautifulSoupを使ったパースプログラムでこんなエラーがでたことはないだろうか。 "HTMLParser.HTMLParseError: malformed start tag"要はBeautifulSoupのおつむじゃ理解出来ないHTMLタグがあるということ。どうやらスクリプトタグなんかを使ったちょっと複雑なものが理解出来ないみたい。 $ python hoge.py Traceback (most recent call last): File "hoge.py", line 78, in <module> main() File "hoge.py", line 40, in main soup = BeautifulSoup(html) File "build/bdist.linux-i686/egg/BeautifulSoup.py", line 1499, in __i
みんなのIoT/みんなのPythonの著者。二子玉近く160平米の庭付き一戸建てに嫁/息子/娘/わんこと暮らしてます。月間1000万PV/150万UUのWebサービス運営中。 免責事項 プライバシーポリシー mechanizeはWeb上の操作を自動化してくれる便利なPythonのライブラリ。Pure Pythonなのでいろんなところで動くよ。PerlのWWW::Mechanizeにinspireされて作られた。RubyにもMechanizeという同種のライブラリがある。Perl偉い! 「Web上の操作を自動化する」っていうのは,例えばどこかのサービスにログインしてあれこれするとか,そういったことをプログラマブルに行える,ということ。フォームの操作などもオブジェクトを使って実行できるのでとても手軽。Webアプリの開発などではテストに使われたりするんだけど,結局僕がなにをしたかったかというと,
経緯 いまさらだが、ローカルにためてたメールをGmailにアップロードしてみた。最初はThunderbirdでIMAP4の設定をして、Thunderbirdで選択+移動でアップロードしていたのだが、(1)ときどきConnectionが切れる、(2)時々Gmailがエラーを返す、ために移動が止まってしまう。しかも、複数選択した状態で移動に失敗すると、アップロードに成功したメールも移動元に残ってしまい、どのメールをアップロードしたのかわからなくなってしまう。 なので、一回あたり数十通だけを選択してチマチマアップロードしていたのだが、一つ目のディレクトリをアップロードした時点残りのメールの量に絶望した。 下調べ とりあえず、imapとmboxを扱うライブラリが無いかとcheese shopを物色してみるも、殆ど無い。そういえば標準ライブラリにあった気がすると思い出して、標準ライブラリの法を調べて
次の2つのスクリプトは同じに見える。 #!/usr/bin/env python import os for i in xrange(100): cmd = "tail -f /var/log/syslog | cat " os.system(cmd) #!/usr/bin/env python import subprocess for i in xrange(100): cmd = "tail -f /var/log/syslog | cat " subprocess.call(cmd, shell=True) タイプ数が少ない分前者のほうが良さそうに見える。 でも、このスクリプトを止めようとしてCtrl-Cを押すと、前者はそのまま次のループが実行されてしまうのに対して、後者は例外を出して止まってくれる。 シグナルによる終了とは別に、終了コードが0で無かった場合にも例外を出してくれる
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く