山狸 さん プロフィール

  •  
山狸さん: つれづれ日記
ハンドル名山狸 さん
ブログタイトルつれづれ日記
ブログURLhttp://syutin.cside.ne.jp/diary/
サイト紹介文その時々で関心がぶれる。ちびの話やら、最近は何故かPCネタに偏りつつ・・・
参加カテゴリー
更新頻度(1年)情報提供50回 / 365日(平均1.0回/週) - 参加 2011/10/26 12:54

山狸 さんのブログ記事

  • numpyに手を出してみた
  • 人工無脳の方がぼちぼち上がったので、そろそろ「自動学習機能」なんかをやってみたいなあ、と・・・とりあえず「単語学習機」(何も使えない・・・爆)を作ろうとしているのだけれども。構想はある。一般的な深層学習系のものとは異なるアプローチ(あれは手に負えない)だけれども、しかし、どう考えても膨大な計算が必要になる。かなりアバウトな動作になるはず(何故私が作るとアバウトな挙動になるんだろう・・・)だが、それでもそれ [続きを読む]
  • str化した数値をextendで追加すると・・・(文字のばらし方?)
  • 何をお馬鹿なことやってるんだ、というのはさておき・・・こんな感じ。######mylist=[5,3]add=15mylist.extend(str(add))print (mylist)######実行結果は・・・[5,3,1,5]・・・桁がバラされた。うわい。バラされたくない場合は、mylist.append(str(add))とappendを使うべし。え?じょーしきだ??・・・ぼーっとしていて間違ってextendを使ってしまい、しばし悩んでしまっただよ(涙)。あれ、これってさ・・・ってことでやってみた。mylist=[5 [続きを読む]
  • Windows spotlightで画像が変わらない時
  • ///下記の方法で、上手く行った人もあるが、私の場合は、上手く行かなかった。「気に入りましたか」が表示されなく・・・削除したファイルを戻しても元に戻らなかったので注意///ロック画面にきれいな画像が表示されるWindows spotlight(ウィンドウズ・スポットライト)。ある日突然、画像が変わらなくなった。ずーーーっと同じ。気に入りましたか、というのは表示されるが、気に入らない、とフィードバックを送っても画像は変わ [続きを読む]
  • 伺かのシェルでpnaを使う
  • 久々にやったらはまったので・・・(確かめない自分が悪いんだけど)。pnaを使って画像をなめらかにするには、1.pnaファイルを用意する2.シェルのdescript.txtに以下の行を書いて置くseriko.use_self_alpha,1上記がないと、左上のドットと同じRGB色が透明色扱いになる。 [続きを読む]
  • 正規表現で漢字を取り出す
  • 漢字を取り出したい!!・・・が、これはひらがな、カタカナの場合に比べてものすごく難しい。[亜-熙]というのを見かけたが、これはうまく行かなかった。「上」等が入っていない。上記はシフトJIS用らしい。気を取り直してさらに調査して見つけたのが[一-龥]やってみたところ、まずまず動いている。ただ、これでは含まれない漢字(JIS第三水準、第四水準漢字等)もあるようなので、がっつりとやりたければ、下記になるらしい。[u2E [続きを読む]
  • 正規表現でひらがなやカタカナを取り出す
  • pythonで、ひらがなやカタカナを取り出すときのパターン。カタカナで一番よくあるのは、[ァ-ン]でもこれだと、「ー」が入っていないので、例えば「ドーナツ」などは「ド」「ナツ」(findallで取り出した時)と分けて取り出されてしまう。後、「ヴ」にも反応しない。[ァ-ヾ]にするという方法もあるが、これだと中黒「・」が含まれてしまう。個人的事情によりこれは含めたくない。というわけで、こんな風にしてみた。[ァ-ヴー]具体的 [続きを読む]
  • Timerで呼び出す関数に引数を送る方法
  • Threadingは便利なんだけど、未だに今一つ良く分からない。今回つまったのは、Timerで呼び出した関数に引数を送りたい、というもの。折角のタイマーなので、単に「時間です」というだけでなく、具体的に「◯×の時間になりました」と言って欲しいわけで…ところが、いざ引数を渡そうとすると上手く行かない。で、調べた結果、こうやるらしい…import threadingdef its_time(string): print (string)timertime=5mes='Hello!'time [続きを読む]
  • 変数はraw stringが使えない(涙)
  • 正規表現で「?」にマッチさせようとして躓いた。普通、改行の「n」のように「」を前につければ行けるはず。でも、「?」では上手く行かない。結論から言えば、これは「?」にすると動く。pythonのための「」と正規表現のための「」の両方がいるらしい。これを避ける方法として、raw stringなるものがあるのだそう。m=re.compile(‘?’)とするところをm=re.compile(r’?’)この程度なら、大差は無いが、もっとややこしい指定の時、頭 [続きを読む]
  • すとんと胸に落ちた話
  • 久々にプログラミング以外のネタ。ネットをうろうろしていて見つけた、この話がなかなかどうして、すごく面白かった。小林麻央報道の「印象操作」にザワつく乳がん女子の胸の内小林麻央さんの報道に胸を痛めつつ、どこか消しがたい違和感を抱いていた。それが、上記ブログを読んで、得心がいった。報道での扱い方が、ひどく偏っている気がして、それが気になっていたのだな、と。特に3ページ目の「生きてる人の闘病記って売れない [続きを読む]
  • 桁区切りがある数値
  • ユーザーの数値入力を受け付けると、桁区切りが入ってしまっている場合がある。例えば「1800」は「1,800」と入力されるかもしれない。。。。パイソン君にどう思う(?)か聞いてみた。a=’1,800′str(a)絶対無理だろうと思ったらやっぱり駄目だった。「変なの入ってる」と言われた。まあ、そうだよね。次は・・・a=1,800苦情を言われるかと思いきや、何故かすんなり通ってしまった。「何だと思った」のか聞いてみた。答え:タプル [続きを読む]
  • datetimeで日付、時刻を扱う
  • あまりにも何回も同じことを検索するので・・・自分用メモ。now=datetime.datetime.today()とした時の年、月、日、時間、分、秒、マイクロセカンドの取り出しnow.yearnow.daynow.hournow.minutenow.secondnow.microsecond型はint。now自体の型はdatetime.datetime。nowの中身(例):2017-06-13 11:27:11.178127フォーマットして出力したい場合%Y..年、%m..月、%d..日、%H..時、%M..分、%S..秒例:)now.strftime(“%Y年%m月%d日  [続きを読む]
  • 割り算で商と余りを同時に得る
  • 忘れそうなので、取り急ぎここにメモ。Pythonで割り算は「/」か「//」。「//」を使うと小数点以下切り捨て。余りを得るには「%」うう、ちょっと間違えそう・・・「%」で割り算する言語もあったような・・・それはそれとして、割り算の商と余りを同時に得る方法もある。それがdivmod。例えば、75割る60なら、下記のようになる。divmod(75,60)すると、答えは、(1,15)1余り15。これを使う時はこんな感じ。h,m=divmod(75,60)これでh=1 [続きを読む]
  • 正規表現で特定文字列を含まない方法
  • 正規表現を相変わらず勉強中。まあまあ慣れてきたのだが、困ったのが「特定文字列を含まない」ケースを一体どうするのか。特定「文字」を含まない、なら「^」が使える。でも文字列だと上手く行かない。例えば、「ユーザー名変更」や「ユーザー名を変更」にはヒットして欲しいが、「ユーザー名を変更しない」は外して欲しい。「(?!××)」というのがどうやらそうらしい、というので試してみた。こんな感じ。ユーザー名.*変更.*(?!な [続きを読む]
  • タイマーを止められない
  • タイマーを実装したまでは良かった・・・が。実際に使ってみると、「タイマーを開始したけど止めたいゾ」ということがままある。というわけで、止める方法を探したのだが・・・このタイマーは、「threading」を使って別スレッドを走らせている。じゃ、別スレッド止めるか破棄すればいいじゃん。そう単純に考えていた。ところが。「現状では、優先度 (priority)やスレッドグループがなく、スレッドの破壊 (destroy)、中断 (stop)、 [続きを読む]
  • lstripやrstripの罠(単なる勘違いともいう)
  • 文字列操作をおさらいしていて、変な事例に出くわした。―-st=’python’print (st.lstrip(‘typ’))―-これの実行結果はどうなるか。そのままpythonになる、と思っていた。が、これは間違い。「hon」が表示される。あれれれれ〜?????えーとえーとえーと。print (st.lstrip(‘pyt’))なら、「hon」が返るのは分かるけど。そう、根本的に、勘違いしていた。lstripやrstrip、stripは、フレーズに反応しているのではなく、「文字 [続きを読む]
  • 正規表現vs類語辞書 補足
  • 同じネタで引っ張ってるなあと思いつつ…試行回数を5万回に増やしてみた。結果は、コンパイルを活用しても、結局正規表現を使わない方が早かった。なので、正規表現を使わなくても行けるケースでは、原則、正規表現を使わずやる方がいいっぽい。他方、例えばメールの中からメルアドと電話番号を取り出すとか、Webアドレスを取り出すとか、そういう場合は、正規表現を使わないとなかなか難しい(やってやれなくはなさそうだが)。後 [続きを読む]
  • 予めコンパイルしてキーワードチェックしたら
  • 長くなりすぎたので記事を分割。前回の記事で、正規表現のパターンをコンパイルしない場合、結局、単純なキーワード照合なら、正規表現を使わない方が早いようだ、という結論に達した。じゃあ、パターンをまとめてコンパイルしておいたらどうなる、というのをちょっとやってみた。―?#coding;UTF-8import reimport timepatlist3=['(私|僕|彼|それ)は','君は','あれは']st=’私は、みかんが好きです’repat=[]t5=time.time()for pa [続きを読む]
  • 正規表現vs類語辞書
  • 相変わらず正規表現周辺をうろうろ中。私のチャットボットは、目下、類語辞書を使うことで正規表現なしでキーワード対応をしている。単に正規表現を食わず嫌いしていただけなのだが。で、ふと思った。どっちが早いんだろう、と。ついでに、timeで時間を計測することを覚えた(今頃かいっ)ので、今回は、datetimeではなく、timeで計測してみた。下記のpatlistの1〜3がキーワードファイル。ここにあるキーワードが、それぞれstの文 [続きを読む]
  • 正規表現コンパイルする?しない?
  • pythonの正規表現は、予めパターンをコンパイル(機械が理解できる機械語に翻訳すること)しておける。何度もそのパターンを使って一致するかチェックしたい場合は、これをしておくと早くなる。・・・というわけで、ちょいと実験してみた。後、正規パターンの指示は、変数に入れておけるかもついでに実験。#coding:UTF-8import reimport datetimepat='よろしく.?$'slist=['よろしくね','そんなこんなで、よろしく','よろしくお願い [続きを読む]
  • 小数点以下を四捨五入して整数部だけ表示したい
  • タイマーをつけたはいいけど、残り時間が見えないと使っていて不便。というわけで、後何秒か尋ねると教えてくれるようにした。けど・・・うううん。datetimeで時間を取得し、total_seconds()で差を秒数に変えると、小数点以下がずらずらと出て来てしまう。float型で取得するので、そのままではstr型データと混ぜて表示ができない。とりあえず例えば、sa=4.3908みたいな数字があるとして、小数点以下四捨五入は、roundでできる。後 [続きを読む]
  • 正規表現とどっちが早い?
  • ずるずると正規表現を勉強中。正規表現はいろいろできるけど、遅い、という話を良く見る。どのくらいなのか、末尾一致チェックの方法を覚えたので、ちょっと試してみた。単純に1対1だと、圧倒的にendswithを使う方が早い。単にチェックさせるだけなら、1,000やそこらチェックしてもdatetimeを使った計測では所要時間が見えないくらいに早い。ただ、正規表現の柔軟性が活躍できる場面だと、だんだん逆転してくる。あまり良いサンプ [続きを読む]
  • 文字列の頭や尻尾をチェックする
  • 文字列が特定のもので始まっているのか、あるいは終わっているのかを確認する方法ってないのかなあ、と思っていたら、普通にあった。「すたーとうぃず」と「えんどうぃず」。でも、サンプル通りタイプしても何故かエラーが出て上手く行かない。何度やっても上手く行かないので、コピペしてみた・・・ら動いた。一体これはどういうことだ???もう一度よーーーーーく見てみたら、「すたーとうぃず」は「startwith」ではなく「start [続きを読む]
  • mp3とかoggとか
  • pythonで音周りをうろついていると、頻繁に見かける「ogg」。何だろう、と調べて見たら、mp3のような音楽系の圧縮形式らしい。ほうほう。こちらの方が音がいいらしい。ほほほう。いいんじゃなかろーか。pygameの使い方を見ていて、linuxとかはmp3が使えないような話もあったし、じゃ〜oggで。・・・とoggファイルを用意してプログラムで使ってみた。そしたらエラーメッセージが。「oggファイルなんか開けんです」いや、そうじゃな [続きを読む]
  • 再生チェックをしても止まらなかった原因が分かった
  • とってもとほほだったので記録。pygameでmp3再生指示を出した後、こんな風にしようとしていたwhil
    e pygame.mixer.music.get_busy(): key=input('>') if key =='stop': pygame.mixer.music.fadeout(2
    000)print ('End')pygame.mixer.music.get_busy()は、再生中かどうかをチェックするもの。でも、再生
    が終わってもEndが表示されない。何故だ〜〜〜と右往左往することン十分。やっと気がついた。
    そうだ…inputって、入 [続きを読む]