-->

Python

ファイル一覧を取得してみる。glob.glob()を使うと取得できる。
ついでにos.path.abspath()で絶対パスにしてみる。

#!/usr/bin/env python3
import glob
import os

# カレントディレクトリのファイル一覧を取得
flist = glob.glob("./*")
# そして表示
for f in flist:
    print(f)

# os.path.abspathで絶対パスを取得して
# 表示
for f in flist:
    print(os.path.abspath(f))

このエントリーをはてなブックマークに追加

csvファイルを読み込んでみる。ついでにタブ区切りのcsvファイル(csvと言わないか)を読み込んでみる。

csvファイルを用意する。test1.csvは普通(?)のcsvファイル。test2.csvはタブ区切りのファイル。

test1.csv

"hgoe",234,hogehoge
"hoge2",345,hogehoge2

test2.csv

hgoe	234	hogehoge
hoge2	345	hogehoge2

コードは、次のようになる。

#!/usr/bin/env python3
import csv

# CSVを読み込む。 (1)
with open("test1.csv") as f:
    csv_reader = csv.reader(f)
    for row in csv_reader:
        print(row)
# ['hgoe', '234', 'hogehoge']
# ['hoge2', '345', 'hogehoge2']




# 2次元配列(リストのリスト)にしてみる。 (2)
with open("test1.csv") as f:
    csv_reader = csv.reader(f)
    datas = [row for row in csv_reader]
print(datas)
# [['hgoe', '234', 'hogehoge'], ['hoge2', '345', 'hogehoge2']]

print(datas[1][2])  # 1行目の2カラム目なんで"hogehoge2"が表示される。(行目、カラム目とも0始まり)


# タブ区切りのCSV(CSVとは言わないと思う)を読んでみる
with open("test2.csv") as f:
    csv_reader = csv.reader(f, delimiter='\t')
    for row in csv_reader:
        print(row)
# ['hgoe', '234', 'hogehoge']
# ['hoge2', '345', 'hogehoge2']

  • (1)は、ファイルをオープンしてcsv.readerで1行ずつ配列にしている。
  • (2)は、2次元配列(リストのリスト)にしている。
  • (3)は、デリミタにタブを指定してタブ区切りで読み込んでいる。

このエントリーをはてなブックマークに追加

URLの結合とか調べてみた。urllibモジュールのurljoinを使って行う。

#!/usr/bin/env python3

import urllib.parse

# ↓ http://hoge.com/index.html?abc=123 と表示される (1)
print(urllib.parse.urljoin("http://hoge.com", "index.html?abc=123"))

# ↓ http://hoge2.com/hogehoge.html と表示される (2)
print(urllib.parse.urljoin("http://hoge.com", "http://hoge2.com/hogehoge.html"))

# URLを解析してみる (3)
url = urllib.parse.urlparse("http://hoge.com:8080/index.html?abc=123")
print(url)              # ParseResult(scheme='http', netloc='hoge.com:8080', path='/index.html', params='', query='abc=123', fragment='') と表示される
print(url.netloc)       # hoge.com:8080 と表示される。
  • (1)は、まー普通につないてみてる。
  • (2)は、渡されるURLが相対的なURLか絶対的なURLかわからない場合を想定して絶対URLが渡された場合を想定してる。2つ目の引数に絶対URLを渡したら、2つ目の引数のURLがそのまま帰ってくるのが確認できた。
  • (3)は、試しにURLを解析(分解)させてみた。urlparseを使う。表示結果のように分解される。

このエントリーをはてなブックマークに追加

今さらだけどPythonのメモ(^^;)

関数

関数定義は次のようになる。

def hoge(val1, val2="hoge"):
    print("hoge:" + val1 + ":" + val2)

def 関数名(仮引数): で関数を宣言する。仮引数名=値 で引数を省略したときのデフォルト値を設定できる。

この関数を呼ぶ方法は次のようになる。

hoge("abcdef")      # hoge:abcdef:hoge と表示される。

あ、値を返すのを忘れていた。

def hoge5():
    return 5

print(hoge5())          # 5 と表示される
続きを読む
このエントリーをはてなブックマークに追加

PythonのtkinterでHello World的なもの(ボタンを押すと”こんにちは!”って表示される)を作ってみた。(いつものヤツw)

続きを読む
このエントリーをはてなブックマークに追加

↑このページのトップヘ