随笔 - 404  文章 - 4  评论 - 0  阅读 - 25万

Python编程快速上手-保持时间、计划任务和启动程序

time模块

  time.time()函数返回自那一刻以来的秒数

1
2
3
>>> import time
>>> time.time()
1651629220.041479

  可以用于一段代码的运行时间计算

复制代码
 1 #!/usr/bin/env python
 2 
 3 import time
 4 def calcProd():
 5   # Calculate the product of the first 100,000 numbers.
 6   product = 1
 7   for i in range(1, 100000):
 8     product =  product * i
 9   return product
10 
11 startTime = time.time()
12 prod = calcProd()
13 endTime = time.time()
14 print('The result is %s digits long.' % (len(str(prod))))
15 print('Took %s seconds to calculate.' % (endTime - startTime))
calcProd.py
复制代码
1 C:\PyProjects>C:/Python37/python3.exe c:/PyProjects/time.py
2 The result is 456569 digits long.
3 Took 5.874201059341431 seconds to calculate.
运行结果

另一种剖析代码的方法时利用cProfile.run()函数,它提供详细的信息

  time.sleep()函数,让程序暂停。

数字四舍五入

    Python内置的round()函数,按照指定的精度四舍五入到一个浮点数。

datetime模块

  time模块用于取出Unix纪元时间戳,并加以处理。如果以更方便的格式显示日期,或对日期进行算数运算。就应该使用datetime模块。

  Unix纪元时间戳可以通过datetime.datetime.fromtimestamp(),转换为datetime对象。datetime对象的日期和时间将根据本地时区转换。

  datetime对象可以用比较操作符进行比较

1
2
3
4
5
6
7
8
9
10
>>> halloween2015 = datetime.datetime(2015, 10, 31, 0, 0, 0)
>>> newyears2016 = datetime.datetime(2016, 1, 1, 0, 0, 0)
>>> oct31_2015 = datetime.datetime(2015, 10, 31, 0, 0, 0)
>>> halloween2015 == oct31_2015
True
>>> newyears2016 > halloween2015
True
>>> newyears2016 != oct31_2015
True
>>>

timedelta数据类型

   datetime模块,提供了timedelta数据类型,它表示一段时间。而不是一个时刻。

  datetime.timedelta()函数接收关键性参数weeks、days、hours、minutes、seconds、milliseconds和microseconds,没有month和year关键字参数,因为"月" 和"年"时可变的时间,依赖于特定月份和年份。total_seconds() 方法返回只以秒表示的时间。

  算术运算符可以用于对datetime值进行日期运算。

  利用+和- 运算符,timedelta对象与datetime对象或其他timedelta对象相加或相减。利用*和/ 运算符,timedelta对象可以乘以或除以整数或浮点数。

暂停直到特定日期

  time.sleep()方法可以暂停程序若干秒。利用一个while循环,可以让程序暂停,直到一个特定日期。

1
2
3
4
5
6
#!/usr/bin/env python
import datetime
import time
halloween2016 =  datetime.datetime(2016, 10, 31, 0, 0, 0)
while datetime.datetime.now() < halloween2016:
  time.sleep(1)

将datetime对象转换为字符串

  strftime()方法,将datetime对象显示为字符串 。

将字符串转换成datetime对象

  datetime.datetime.strftime()函数:将字符串转换为datetime日期

  datetime.datetime.strptime()函数:将格式字符串传入strptime(),解析为日期字符串

从Python启动其他程序

向Popen()传递命令行参数

  利用内建的subprocess模块中的Popen()函数,Python程序可以启动计算机中的其他程序。

  在Windows系统

  Ubuntu Linux系统

向Popen()传递命令行参数

  向Popen()传递一个列表,作为唯一的参数。该列表中的第一个字符串时要启动的程序的可执行文件名,所有后续的字符串将是该程序启动时,传递给该程序的命令行参数。实际上,这个列表将作为被启动程序的sys.argv的值。

1
2
3
>>> subprocess.Popen(['C:\\Windows\\notepad.exe', 'C:\\hello.txt'])
<subprocess.Popen object at 0x000001C801C74DD8>
>>>

运行其他Python脚本

  向Popen传入一个列表,其中包含Python可执行文件的路径字符串,以及脚本文件名的字符串。

1
2
>>> subprocess.Popen(['C:\\python37\\python3.exe', 'C:\\PyProjects\\hello.py'])
<subprocess.Popen object at 0x000001C801C74E80>

用默认的应用程序打开文件

  每个操作系统都有一个程序,其行为等价于双击文档文件来打开它。根据操作系统,向Popen()传入(windows)'start'、(OS X)'open'或(Ubuntu Linux)'see'。

1
2
3
4
>>> import subprocess
>>> subprocess.Popen(['start', 'hello.txt'], shell=True)
<subprocess.Popen object at 0x000001C801C74EB8>
>>>

 

posted on   HelonTian  阅读(138)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示