如何从浮点数中删除最左边的数字?
How do I drop leftmost digits from a float?
我试图使用 Python.
在 bash shell 中打印出亚秒计时
这与how-to-get-execution-time-of-a-script-effectively有些关系。我在 macOS 上,bash 那里没有提供亚秒级计时。
如果我使用 python -c 'from time import time; print(f"{time():.3f}")'
例如我得到:
1603052253.465
python -c 'from time import time; print(f"{time():4.3f}")'
具有相同的输出行为。
现在,这很吵。我真的不需要看到所有最左边的数字来逐步观察执行时间。
我写了一个新脚本,它做得更好:
$ time4bash.py
2325.987
$ time4bash.py
2328.201
但是执行此操作的代码比我希望的要复杂一些。
from time import time
time_ = time()
stime = f"{time_:.3f}"
#look for decimal separator, and this will break on `,` locales
pos = stime.index(".")
tstime = stime[pos-4:]
print(tstime)
是否有使用字符串格式标志或模数学的更好方法?
在使用 .3f
:
格式化之前,只需计算余数模 10,000
>>> t = time.time()
>>> t
1603052957.262341
>>> t % 10000
2957.2623410224915
>>> '{:.3f}'.format(t % 10000)
'2957.262'
或将所有内容放在一行中:
print('{:.3f}'.format(time.time() % 10000))
如果你只想将时间转换为小时、分钟、秒,你可以尝试这样的方法。
time.strftime("%H:%M:%S", time.gmtime())
这将 return:
'20:42:13'
您还可以使用以下方式获取当地时间:
time.strftime("%H:%M:%S", time.localtime())
这将 return:
'13:47:54'
我试图使用 Python.
在 bash shell 中打印出亚秒计时这与how-to-get-execution-time-of-a-script-effectively有些关系。我在 macOS 上,bash 那里没有提供亚秒级计时。
如果我使用 python -c 'from time import time; print(f"{time():.3f}")'
例如我得到:
1603052253.465
python -c 'from time import time; print(f"{time():4.3f}")'
具有相同的输出行为。
现在,这很吵。我真的不需要看到所有最左边的数字来逐步观察执行时间。
我写了一个新脚本,它做得更好:
$ time4bash.py
2325.987
$ time4bash.py
2328.201
但是执行此操作的代码比我希望的要复杂一些。
from time import time
time_ = time()
stime = f"{time_:.3f}"
#look for decimal separator, and this will break on `,` locales
pos = stime.index(".")
tstime = stime[pos-4:]
print(tstime)
是否有使用字符串格式标志或模数学的更好方法?
在使用 .3f
:
>>> t = time.time()
>>> t
1603052957.262341
>>> t % 10000
2957.2623410224915
>>> '{:.3f}'.format(t % 10000)
'2957.262'
或将所有内容放在一行中:
print('{:.3f}'.format(time.time() % 10000))
如果你只想将时间转换为小时、分钟、秒,你可以尝试这样的方法。
time.strftime("%H:%M:%S", time.gmtime())
这将 return:
'20:42:13'
您还可以使用以下方式获取当地时间:
time.strftime("%H:%M:%S", time.localtime())
这将 return:
'13:47:54'