Python」カテゴリーアーカイブ

プログラミング言語「Python」に関するカテゴリーです。

Pythonでファイルをコピーする方法

Pythonでファイルをコピーしたい場合はshutilモジュールのcopyが使えます。

>>> import shutil
>>> shutil.copy('/path/to/src', '/path/to/dst')

ファイルの作成時刻や変更時刻などはコピーされませんので、必要に応じてcopystatも追加してください。

>>> shutil.copy('/path/to/src', '/path/to/dst')
>>> shutil.copystat('/path/to/src', '/path/to/dst')
>>> import os, time
>>> time.strftime('%Y-%m-%d %I:%M:%S', time.localtime(os.path.getmtime('/path/to/src')))
'2018-11-21 09:58:03'
>>> time.strftime('%Y-%m-%d %I:%M:%S', time.localtime(os.path.getmtime('/path/to/dst')))
'2018-11-21 09:58:03'

Pythonでファイル作成時刻や最終更新時刻を取得する方法についてはこちらも参考にしてください。


copyはディレクトリに対しても実行可能なようです。

Pythonでファイルの作成時刻や最終更新時刻を取得する方法

Pythonでファイルの作成時刻や最終更新時刻を取得するにはgetctimegetmtimeを使うと良いそうです。

使い方は次のような感じです。

作成時刻

>>> import os
>>> os.path.getctime('/path/to/file')
1542761883.7563891

最終更新時刻

>>> os.path.getmtime('/path/to/file')
1542761883.7563891

最終アクセス時刻

>>> os.path.getatime('/path/to/file')
1542761883.7563891

戻り値はepochからの経過秒数になっています。timeモジュールを使うと読み易い形に変換できます。

>>> import time
>>> time.strftime('%Y-%m-%d %I:%M:%S', time.localtime(1542761883.7563891))
'2018-11-21 09:58:03'

SQLiteでdateやdatetimeの扱い方

PythonのSQLiteモジュールを使ってdate型やdatetime型を扱う方法

テーブルの作成

$ sqlite3 data.db
sqlite> CREATE TABLE sample(d date, t timestamp);
sqlite> .quit

Pythonでdate型やdatetime型の読み書き

>>> import sqlite3, datetime, time
>>> con = sqlite3.connect('data.db', detect_types = sqlite3.PARSE_DECLTYPES|sqlite3.PARSE_COLNAMES)

データの追加

>>> today = datetime.date.today()
>>> now = datetime.datetime.now()
>>> con.execute('INSERT INTO sample(d, t) values (?,?)', (today, now))

データの読み出し

>>> con.execute('SELECT * FROM sample').fetchall()
[(datetime.date(2016, 5, 17), datetime.datetime(2016, 5, 17, 11, 45, 20, 153520))]