Pythonで現在時刻をミリ秒単位で取得する方法
Pythonでは、標準ライブラリの time モジュールを使うことで、現在の時刻をミリ秒単位で簡単に取得できます。time.time() 関数は、1970年1月1日0時0分0秒(エポック)からの経過時間を、秒単位の浮動小数点数として返します。この値に1000を掛け、整数に丸めることでミリ秒単位のタイムスタンプに変換できます。
サンプルコード
import time milliseconds = int(round(time.time() * 1000)) print(milliseconds)
実行結果
上記のコードを実行すると、次のような出力が得られます。
1514825676008
Python 3.7以降なら time.time_ns() も便利
Python 3.7以降では、ナノ秒精度で時刻を取得できる time.time_ns() を利用することも可能です。戻り値を100万で整数除算すれば、浮動小数点演算を介さずにミリ秒単位の値を直接求められます。
import time milliseconds = time.time_ns() // 1_000_000 print(milliseconds)
datetime モジュールを使う方法
日付や時刻の情報と合わせて扱いたい場合は、datetime モジュールが便利です。datetime.now() の timestamp() メソッドでも同じようにミリ秒を取得できます。
from datetime import datetime milliseconds = int(datetime.now().timestamp() * 1000) print(milliseconds)
まとめ
シンプルにミリ秒のタイムスタンプだけが必要な場合は int(round(time.time() * 1000)) が定番です。より高い精度が必要なら time.time_ns()、日付操作と組み合わせたいなら datetime モジュールを選ぶとよいでしょう。用途に応じて使い分けることで、可読性と正確性の両立ができます。
-
Pythonで現在のファイルのフルパスとディレクトリを取得する方法
Pythonで実行中のファイルの完全なパス(フルパス)を取得するには、標準ライブラリの os モジュールを使用します。最もシンプルで確実な方法は、os.path.realpath(__file__) を呼び出すことです。 例:os.path.realpath() を使う方法 >>> import os >>> print(os.path.realpath(__file__)) /home/ayush/qna/path.py __file__ は現在実行中のスクリプトファイルの名前を示す組み込み変数であり、os.path.realpath() はシンボリッ
-
【Python入門】ファイル読み込み中の現在の行番号を取得する2つの方法
Pythonで現在の行番号を取得するには?Pythonの標準ファイルオブジェクトには、現在読み込んでいる行番号を直接取得する機能は備わっていません。しかし、工夫次第で簡単に実現できます。ここでは代表的な2つの方法を紹介します。方法1:ラッパークラスを作成するファイルオブジェクトを包み込む(ラップする)クラスを定義し、readline()が呼ばれるたびに行番号をカウントする方法です。__enter__と__exit__を実装しているため、with文とも組み合わせられます。class FileLineWrapper(object): def __init__(self, file):