32.从入门到精通:Python错误输出重定向和程序终止 字符串正则匹配 访问 互联网 日期和时间

简介: 32.从入门到精通:Python错误输出重定向和程序终止 字符串正则匹配 访问 互联网 日期和时间

错误输出重定向和程序终止

在Python中,可以使用错误输出重定向来将错误信息输出到指定的文件或设备,而不是默认输出到屏幕上。

以下是将错误输出重定向到文件的示例:

import sys
try:
    # some code that may raise an exception
    pass
except Exception as e:
    # redirect error output to a file
    sys.stderr = open('error.log', 'w')
    print('An error occurred:', e)
    # restore error output to the default value
    sys.stderr = sys.__stderr__

在上面的代码中,我们使用sys.stderr将错误输出重定向到error.log文件中,然后打印错误信息。最后,我们将错误输出恢复为默认值。


如果程序遇到无法处理的错误,可以使用sys.exit()函数来终止程序的执行。该函数接受一个可选的整数参数,表示程序的退出状态码。通常,0表示程序正常退出,非零值表示程序异常终止。

以下是一个示例:

import sys
try:
    # some code that may raise an exception
    pass
except Exception as e:
    print('An error occurred:', e)
    sys.exit(1)  # exit with error status

在上面的代码中,如果程序遇到异常,它将打印错误信息并以状态码1退出。


字符串正则匹配

在Python中,可以使用re模块进行字符串正则匹配。re模块提供了一组函数,用于在字符串中搜索和匹配模式。

下面是一个简单的例子,说明如何使用re模块进行字符串正则匹配:

import re
# 定义一个正则表达式
pattern = r"hello\s+(\w+)"
# 定义一个字符串
string = "hello world, hello python, hello java"
# 使用正则表达式进行匹配
result = re.findall(pattern, string)
# 输出匹配结果
print(result)

在这个例子中,首先定义了一个正则表达式,它表示以"hello

"开头,后面跟着一个或多个空格,然后是一个单词。然后定义了一个字符串,其中包含了多个符合这个模式的子串。接下来使用re模块中的findall函数进行匹配,它会返回一个列表,其中包含了所有符合模式的子串。最后输出匹配结果,可以看到输出的结果是一个列表,其中包含了所有匹配到的单词。


除了findall函数之外,re模块还提供了其他一些函数,用于进行字符串正则匹配,例如search函数、match函数、sub函数等等。这些函数的具体用法和参数可以查看Python官方文档。


访问 互联网

要访问互联网,可以使用Python内置的urllib模块。urllib模块提供了一组函数,用于处理URL和HTTP请求。

下面是一个简单的例子,说明如何使用urllib模块访问一个网页:

import urllib.request
# 要访问的网页URL
url = "https://www.baidu.com"
# 发送HTTP请求,获取响应
response = urllib.request.urlopen(url)
# 读取响应内容
html = response.read()
# 输出网页内容
print(html)

在这个例子中,首先定义了一个要访问的网页URL。然后使用urllib.request.urlopen函数发送HTTP请求,获取响应。最后读取响应内容,并输出网页内容。

除了urllib模块之外,还可以使用第三方库requests来访问互联网。requests库提供了更加简洁和方便的API,可以更加方便地发送HTTP请求和处理响应。

下面是一个使用requests库访问网页的例子:

import requests
# 要访问的网页URL
url = "https://www.baidu.com"
# 发送HTTP请求,获取响应
response = requests.get(url)
# 读取响应内容
html = response.text
# 输出网页内容
print(html)
  • 在这个例子中,首先定义了一个要访问的网页URL。然后使用requests库中的get函数发送HTTP请求,获取响应。最后读取响应内容,并输出网页内容。

需要注意的是,访问互联网可能会受到网络环境和访问权限的限制,有些网站可能需要登录或者使用代理才能访问。另外,访问互联网还需要注意遵守相关法律法规和网站的使用规定。


日期和时间

在Python中,可以使用datetime模块来处理日期和时间。
下面是一些常见的日期和时间操作:

获取当前日期和时间:

import datetime
now = datetime.datetime.now()
print(now)

这将输出当前日期和时间,例如:

2021-08-12 14:23:50.123456

格式化日期和时间:

import datetime
now = datetime.datetime.now()
formatted = now.strftime("%Y-%m-%d %H:%M:%S")
print(formatted)

这将输出格式化后的日期和时间,例如:

2021-08-12 14:23:50

在这个例子中,使用strftime函数将日期和时间格式化为指定的字符串。

计算日期和时间的差值:

import datetime
start = datetime.datetime(2021, 8, 1)
end = datetime.datetime.now()
delta = end - start
print(delta)

这将输出两个日期和时间之间的差值,例如:

11 days, 14:23:50.123456

在这个例子中,首先定义了两个日期和时间,然后使用减法运算符计算它们之间的差值。


除了这些基本操作之外,datetime模块还提供了许多其他的日期和时间操作,例如时区转换、日期和时间的加减、日期和时间的比较等等。可以查看Python官方文档了解更多信息。

相关文章
|
10月前
|
Java 数据处理 索引
(Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
DataFrame结构 每一列都属于Series类型,不同列之间数据类型可以不一样,但同一列的值类型必须一致。 DataFrame拥有一个总的 idx记录列,该列记录了每一行的索引 在DataFrame中,若列之间的元素个数不匹配,且使用Series填充时,在DataFrame里空值会显示为NaN;当列之间元素个数不匹配,并且不使用Series填充,会报错。在指定了index 属性显示情况下,会按照index的位置进行排序,默认是 [0,1,2,3,...] 从0索引开始正序排序行。
749 0
|
11月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
586 100
|
11月前
|
开发者 Python
Python中的f-string:高效字符串格式化的利器
Python中的f-string:高效字符串格式化的利器
688 99
|
11月前
|
Python
Python中的f-string:更优雅的字符串格式化
Python中的f-string:更优雅的字符串格式化
|
11月前
|
开发者 Python
Python f-strings:更优雅的字符串格式化技巧
Python f-strings:更优雅的字符串格式化技巧
|
10月前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
414 4
|
11月前
|
设计模式 决策智能 Python
Python条件控制:让程序学会"思考"的魔法
本文深入浅出地讲解Python条件控制,从基础if语句到多分支、嵌套结构,再到简洁的三元表达式与Python 3.10新增的match-case模式匹配,结合电商折扣、会员等级、ATM系统等实战案例,全面掌握程序“智能决策”的核心逻辑。
657 0
|
Python
从使用os.system)在python命令(重定向标准输入输出
从使用os.system)在python命令(重定向标准输入输出  python 标准输出stdout stdio os.system通常我可以通过改变sys.stdout的值在python更改标准输出。
3131 0
|
11月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
1726 102

推荐镜像

更多