タグ

関連タグで絞り込む (266)

タグの絞り込みを解除

Pythonとpythonに関するU1and0のブックマーク (478)

  • ファイル読み書き file open read write

    ファイル読み込み レガシーな書き方 file = open("filename", "r") try: whole_str = file.read() finally: file.close() # finallyでcloseすべき withブロックを使用してcloseを自動的に行う方法。(こちらを推奨) with open("filename", "r") as file: whole_str = file.read() file.read([size])で指定したバイト数を読み込み。size未指定の場合はすべて読み込み。 file.readline()で1行読み込み。文字列に改行文字は残る。最後の行を読み込んだ後に””(空文字)がかえる。 file.readlines()で全行を読み込んでリストを返す。 ファイル書き込み レガシーな書き方 file = open("filename",

    ファイル読み書き file open read write
    U1and0
    U1and0 2016/06/16
    withステートメントで自動close
  • [Python]文字列を複数行に分けて書きたい – memlog

    プログラミングをしていると、長い文字列を書きたい場面が少なからず存在します。 例えばこんな感じ。 x = 'aaaaaaaaaabbbbbbbbbbccccccccccddddddddddeeeeeeeeeeffffffffff' 可読性などを無視してしまえばこうやって書くのが一番素直なのかもしれませんが、 当然そんなわけがないので、\(バックスラッシュ)を使って複数行にして、 x = 'aaaaaaaaaa\ bbbbbbbbbb\ cccccccccc\ dddddddddd\ eeeeeeeeee\ ffffffffff' という風に書いてみました。 見た目はずいぶんすっきりしたのですが、 こうしてしまうと出力が以下のようになり、非常に困ります。 >>> x 'aaaaaaaaaa     bbbbbbbbbb     cccccccccc     dddddddddd     ee

    U1and0
    U1and0 2016/06/14
    トリプルクォーテーションの間に挟まれたやつもprint()関数に入れれば出力できる
  • raw文字列の利用

    raw文字列の使い方 通常の文字列では特別な値を記述するためにバックスラッシュ(\) ( Windows 環境では円記号)が利用されます。その為、 \ を 1 つの文字として利用する場合には \ 自身をエスケープシーケンスを使って \\ のように記述する必要があります。

    raw文字列の利用
    U1and0
    U1and0 2016/06/14
    (シングルでもダブルでも)クォーテーションの先頭にrかRつける
  • python:現在のディレクトリ

    deb1:~# python Python 2.4.4 (#2, Apr 15 2008, 23:43:20) [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import os >>> os.getcwd() '/root'

    python:現在のディレクトリ
    U1and0
    U1and0 2016/06/14
    現在地取得 pwd  os.getcwd()
  • Pythonで文字列を置換する:replace(), re.sub() | UX MILK

    Python で文字列を別の文字列で置換したいときは replace あるいは re.sub を使います。 replace は単純な文字列置換を行います。正規表現を利用したより複雑な置換を行うためには標準ライブラリの re モジュールにある re.sub を使用します。 replace を使用して文字列を置換する replace の記述方法は以下の通りです。

    U1and0
    U1and0 2016/06/14
    文字列置換src.replace("b", "B")bをBに変える
  • Python - 別ディレクトリにあるファイルのインポート - ぼっち勉強会

    インポートの基構文とファイル 構文は次のようになります。 import {.pyを除いたファイル名} #import hogehoge_file ファイルの探索順序 インポート対象ファイルの探索は次の順序で行われます。 実行中のファイルと同じフォルダ カレントフォルダ 環境変数「PYTHONPATH」に列挙したフォルダ sys.pathに登録してあるフォルダ 参考:Pythonのモジュールインポートのしくみ — PythonMatrixJp 探索範囲を拡張する このままでは上記以外のパスにあるファイルをインポートできません。 これを解決するには、探索範囲に指定ディレクトリを追加する必要があります。 rubyでいう $LOAD_PATH.push('/path/to/dir')、 phpでいう set_include_path('/path/to/dir')のようなものだと思います。 py

    Python - 別ディレクトリにあるファイルのインポート - ぼっち勉強会
    U1and0
    U1and0 2016/06/14
    import sys sys.path.append('/path/to/dir')
  • Pythonを学ぼう 第23回 continue・break・else - ほぷしぃ

    ほぷしぃはIT技術関連情報と長野県の紹介を行うポータルサイトです。 パソコン関連の様々な技術Windows、プログラミング言語、ソフトウェア等)や、長野県の観光スポットと特産品などを紹介しています。

    U1and0
    U1and0 2016/06/14
    contnue(ループの最初に戻る)break(ループ終了)
  • Pythonでsleep (処理を一時停止させる関数): Akatsukiの備忘録

    すぐ忘れるので、自分用のメモ。 Pythonで処理を一時停止させたいとき、sleep関数を使うようです。 使い方は、 >>> import time >>> time.sleep(1) これだとtimeモジュールごとimportしてしまうので、 sleep関数だけをimportしたいなら、 >>> from time import sleep >>> sleep(1) sleep関数の引数1は秒数。 整数でもいいし、小数でもOK。 引数で指定した秒数だけ処理を停止する。 各社WebサービスAPIでは、 リクエスト回数の制限があることが多いので、 そういうときに使ったり。

    U1and0
    U1and0 2016/06/14
    >>> from time import sleep >>> sleep(1)
  • https://qiita.com/asdf4321/items/255d50c5bed025ce852a

    U1and0
    U1and0 2016/06/14
    windows版はtermion, ttyいらない。これらのモジュール使われている箇所コメントアウトしても動く。ただしenter押さなければいけない
  • 今日のPython - はてブロ@ama_ch

    breakとcontinue p.84 >>> for item in range(10): ... if item == 5: continue ... if item == 8: break ... print item, ... 0 1 2 3 4 6 7 while文 whileの条件はbool型(真or偽)で判定される。 p.86 >>> n = 0 >>> while n < 10: ... print n, ... n += 1 ... 0 1 2 3 4 5 6 7 8 9 九九の表を出力 よくやるよね。 >>> a = 1 >>> b = 1 >>> while a < 10: ... while b < 10: ... print a * b, ... b += 1 ... print "" ... a += 1 ... 1 2 3 4 5 6 7 8 9 あれ、できな

    今日のPython - はてブロ@ama_ch
    U1and0
    U1and0 2016/06/14
    Pythonではdo〜while文がないので、while文(無限ループ)とbreakを組み合わせて書く。
  • バッチがわりに Python を使うときは、 os.system よりも subprocess.call を使おう - methaneのブログ

    次の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で無かった場合にも例外を出してくれる

    バッチがわりに Python を使うときは、 os.system よりも subprocess.call を使おう - methaneのブログ
    U1and0
    U1and0 2016/06/13
    import subprocess subprocess.call(cmd, shell=True)
  • 【覚書】リスト(list)→辞書(dict)変換 - 風柳メモ

    2つのリストから、1つ目をキー、2つ目を値とする辞書を作成 def two_list_to_dict(key_list, val_list): return dict(zip(key_list, val_list)) print two_list_to_dict(['a','b','c'],[1,2,3]) # {'a': 1, 'c': 3, 'b': 2} 1つのリストから、キーを要素番号とする辞書を作成 def list_to_dict(val_list): #return two_list_to_dict(range(0,len(val_list)), val_list) return dict(zip(range(0,len(val_list)), val_list)) print list_to_dict(['a','b','c']) # {0: 'a', 1: 'b', 2:

    【覚書】リスト(list)→辞書(dict)変換 - 風柳メモ
    U1and0
    U1and0 2016/05/20
    2つのリストから、1つ目をキー、2つ目を値とする辞書を作成
  • Pythonでリスト、ディクショナリーの便利なループ方法(enumerate,iteritems,zip)

    Pythonでリスト、ディクショナリーの便利なループ方法(enumerate,iteritems,zip) よく忘れるのでメモしておきます。 参考はこちら。 5.6. ループのテクニック リストのループ(enumerate) よく、リストをループするとき何番目かも欲しい時があります。 l = ['one', 'two', 'three']index = 0for item in l:    print index, item    index += 1 「enumerate」を知ってればお手軽にインデックスが取得できます。 l = ['one', 'two', 'three']for index, item in enumerate(l):    print index, item 辞書型のループ(iteritems) 辞書の中身に入っている、keyとvalueが欲しい時があります。 m

    Pythonでリスト、ディクショナリーの便利なループ方法(enumerate,iteritems,zip)
  • Python の辞書に含まれる最大値のKeyを求めるクールな実装 - secretbase.log

    下記のような辞書型があり、辞書の値の最大値を持つキーを取得したい。 例えば、下記のような辞書だ。 d = {'a': 1, 'b': 2, 'c': 3} 上記例では、 3 が最大値。よって、 c を得たい。 ここで if文のような条件分岐をつかった実装は クールではないのは容易に想像がつく。 ちなみに、最大値は、組み込み関数の max で取得できる。 >>> max(d.values()) 3 とやると、3 を取得することはできるが、そのキーはどうすれば取得できるだろう。 Python ではどのような実装がクールなのだろうか、とつぶやいたら RT され 一瞬で Reply をいくつかいただけた。 ありがたく、ご紹介させて頂く。 (一応、Python 2.7.5 を想定したのだが、明示しなかったので py3向けの回答もあったのかもしれない) 1. タプルにして最大値を求める実装 >>> m

    Python の辞書に含まれる最大値のKeyを求めるクールな実装 - secretbase.log
    U1and0
    U1and0 2016/05/17
    y=f(x)の最大値であるxを求める方法
  • 文字列の分割・結合 split, join,rsplit

    split: 文字列の分割 str.split(sep) sepを区切り文字として、単語を分割してリストにする。 区切り文字が指定されない場合は、スペース、タブ、改行文字列で分割される特殊なルールになる。 >>> "hello,world,foo,bar".split(",") ['hello', 'world', 'foo', 'bar'] >>> "hello,world, foo, bar".split(", ") >>> "hello world\tfoo\nbar".split() ['hello', 'world', 'foo', 'bar'] 第2引数で区切り文字で分割する回数を指定することができる。 >>> "aaa,bbb,ccc".split(",", 1) #分割回数は1回に制限。('bbb,ccc'は分割されていない) ['aaa', 'bbb,ccc'] 正規表現

    文字列の分割・結合 split, join,rsplit
    U1and0
    U1and0 2016/05/15
    join: 文字列シーケンスの連結 sep.join(seq) sepを区切り文字として、seqを連結してひとつの文字列にする。 >>> ":".join(["a", "b", "cde"]); 'a:b:cde' シーケンス.joinではなく、区切り文字列.join(シーケンス)なので注意。
  • リストに指定した値と同じ要素が含まれているか確認する

    作成済みのリストに指定した値と同じ要素が含まれているかどうか、含まれている場合の要素の数や要素のインデックスを取得する方法について解説します。要素が含まれているかどうかの確認には in 演算子、要素の数を確認するには count メソッド、インデックスを確認するには index メソッドを使用します。

    リストに指定した値と同じ要素が含まれているか確認する
    U1and0
    U1and0 2016/05/15
    リストオブジェクト.index(オブジェクト) 引数で指定したオブジェクトが持つ値が要素の中に含まれている場合は、最初の要素のインデックスを返します。 具体的には次のように記述します。 list = ["A", "B", "C"] print list.index("B"
  • グラフの配置 - Python Project

    Python Project プログラミング言語「python」を用いてシステム開発をしよう! トップページページ一覧メンバー編集 グラフの配置 最終更新: jade_python 2013年02月26日(火) 01:23:23履歴 グラフを並べる いくつかのグラフを並べて表示することも可能である。 研究発表資料の作成の際には非常に重宝する。以前までは1枚1枚のグラフをパワーポイント上で並べていたことを考えると・・・ 非常に恥ずかしい(笑) グラフの整理配置にはsubplot(ijk)を使う。 ここで(i,j,k)はそれぞれ(行数,列数,グラフの位置)の整数値が入る。 たとえばsubplot(231)は、2行3列、合計6つのグラフのうち一番左上に配置するということを意味する。 例として、「y=x」,「y=3」,「y=x+1」,「y=-x+5」のグラフを配置してみる。 subplot(ijk

    グラフの配置 - Python Project
    U1and0
    U1and0 2016/05/15
    グラフの整理配置にはsubplot(ijk)を使う。 ここで(i,j,k)はそれぞれ(行数,列数,グラフの位置)の整数値が入る。 たとえばsubplot(231)は、2行3列、合計6つのグラフのうち一番左上に配置するということを意味する。
  • Python の書き方の基本ルール - Python 入門

    このページは他のプログラミングの経験のある方向けです。プログラミングは Python が初めてという方は、このページはスキップして次の「Python のデータ型」に進んでも問題ありません。 Python は習得し易いプログラミング言語です。少なくともそう言われています。 ところが、C/C++ 言語や Java 言語といった他のプログラミング言語を経験してきた人にとっては、 やや違和感のある感じがあるのも確かだと思います。 最初に Python の特徴あるいは基的なルールをまとめておきます。 次の Python コードを見てください。 x = 1 y = 2 if x < y: print('True') else: print('False') これを実行すると True を出力します。 if 文による条件分岐をしていますが、その詳細はまた別のページで書きますが、ここではその形式に注目し

    Python の書き方の基本ルール - Python 入門
    U1and0
    U1and0 2016/05/13
    上記では L も M も同じ意味 [[1, 2, 3], [4, 5, 6], [7, 8, 9]] になります。 また条件文が多い場合などは次のように改行してもよいかもしれません
  • 例外処理(try, except, finally)

    例外の捕捉 try: # 例外が発生する可能性のある処理 except: #例外すべて # 例外発生時の処理 例外オブジェクトの指定 try: # 例外が発生する可能性のある処理 except HogeError as e: #HogeErrorの捕捉 # 例外発生時の処理 例外に捕捉されなかったら else try: # 例外が発生する可能性のある処理 except: # 例外発生時の処理 else: # 例外発生しなかったら tryの後ろに書くのとほぼ同等だが、try~exceptで保護したいコードを間違って捕捉するということを避けられるので、保護したいコードと明示的に分離するのにelse節に書くほうがよい。 例えば、 try: 処理A # 処理B? except: 例外処理X else: 処理B と書いた場合に、処理Aの次の行に処理Bを書けば、例外が発生したときは処理A→例外処理Xと

    例外処理(try, except, finally)
  • Python の例外処理

    追記 2018/05/23: Python の例外に興味がある方には次の記事も参考になるかもしれません。よろしければご覧ください。 Python Tips: Python の例外システムを活用したい Python における例外処理について説明してみたいと思います。 Python では、例外処理「 try ... catch ... 」のロジックは try ```` except というキーワードを使って実現することができます。 以下、最も基的な形から順に Python での例外処理の方法について見ていきましょう(ここでご紹介する記法は Python 2.x のものです。 Python 3.x の場合は少し異なるのでご注意ください)。 try - except 最も基的な形は try と except を使ったパターンです。 try: f = open('sample.txt', 'r'

    Python の例外処理
    U1and0
    U1and0 2016/05/12
    elseブロックをつけると、例外が発生しなかった場合にだけ行いたい処理を指定することができます。finallyブロックをつけると、例外が発生してもしなくても、いずれの場合でも共通で行う処理を指定することができます。