Python 基础语法详解(二)

Python3 标准库概览

许多初学者可能对 Python3 标准库还不熟悉,因此本文将简要介绍几个常用的库。后续的文章将逐步带领大家了解更多的 Python3 标准库。


1 文件通配符

glob 模块提供了一个函数,用于通过通配符搜索目录,并返回匹配的文件列表:

>>> import glob
>>> glob.glob('*.py')
['primes.py', 'random.py', 'quote.py']

2 命令行参数

学一门编程语言时,输入和输出是一个关键知识点。Python 常见的几种交互方式包括:

  1. 命令行参数
  2. 标准输入和输出函数
  3. 文件输入和输出(涉及文件操作,后续会详细讲解)
  4. 图形化用户界面(后续也会提及)

①命令行参数

用户可以在命令行中运行 Python 程序时输入参数,并在程序中通过 sys.argv 访问。例如,在命令行中执行 python demo.py one two three 后,sys.argv 的值为 ['demo.py', 'one', 'two', 'three']

示例代码

# __author__ = 帅小柏
import sys

print(sys.argv)  # sys.argv 是命令行参数列表。

注意sys.argv[0] 表示脚本名,其余参数依次类推。


②标准输入输出函数

Python 内置的标准输入输出函数分别是 input()print()

  • input(prompt):提示用户输入,并返回用户输入的内容(字符串格式)。
  • print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False):用于打印一行内容。

延伸—标准输入、输出和错误流文件对象

sys 模块有 stdin, stdoutstderr 属性,分别对应标准输入、输出和错误流文件对象。

示例代码

# -*- coding: utf-8 -*-
# __author__ = 帅小柏

import sys

print("hello world")
print("hello world", file=sys.stdout)
sys.stdout.write("hello world")

示例一:stdout 重定向

# __author__ = 帅小柏
import sys

f = open('out.log', 'w')
sys.stdout = f  # 重定向标准输出流文件对象到 out.log 文件

print("hello world!")  # 内容输出到文件 out.log 中

注意:即使在 stdout 被重定向时,sys.stderr 仍可用于在终端显示警告和错误信息。


示例二:stdin 重定向

程序可以从输入流(sys.stdin)中读取数据直至输入流为空。

# -*- coding: utf-8 -*-
# __author__ = 帅小柏

import sys

num = 0.0
for line in sys.stdin:
    num += float(line)
print('求和:', num)

重定向 stdin 到文件

# -*- coding: utf-8 -*-
# __author__ = 帅小柏

import sys

f = open('out.log', 'r')
sys.stdin = f  # 重定向标准输入流文件对象到 out.log 文件

input_value = input('请输入:')  # 从文件读取数据
print(input_value)

示例三:stderr 重定向

# __author__ = 帅小柏
import sys

f = open('error.log', 'w')
sys.stderr = f

print(1/0)  # 主动制造报错,错误信息将输出到 error.log 文件中

恢复标准输入、输出和错误流为默认值

# -*- coding: utf-8 -*-
# __author__ = 帅小柏
import sys

sys.stdin = sys.__stdin__
sys.stdout = sys.__stdout__
sys.stderr = sys.__stderr__

小知识拓展:终止脚本的最直接方法是使用 sys.exit()


3 访问互联网

Python 提供了几个模块用于访问互联网和处理网络通信协议,其中最简单的两个库是 urllibrequests

详解文章链接:

示例代码

# -*- coding: utf-8 -*-
# __author__ = 帅小柏

from urllib.request import urlopen

res = urlopen('http://www.baidu.com/')
print(res.read().decode('utf-8'))

4 日期和时间

datetime 模块提供了处理日期和时间的简单和复杂方法,支持日期和时间算法,并且注重高效的处理和格式化输出。

详解文章链接:Python常用模块之datetime模块

示例代码

# -*- coding: utf-8 -*-
# __author__ = 帅小柏

from datetime import date

now = date.today()
print(now)
print(now.strftime("%m-%d-%y. %d %b %Y is a %A on the %d day of %B."))

birthday = date(2008, 10, 1)
age = now - birthday
print(age.days)

欢迎通过点击关注公众号【帅小柏】,加入我们的 Python 大家庭,共同学习进步(非诚勿扰)。

加入我们,一起学习 Python,互相学习,共同进步。
  • 17
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅小柏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值