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,互相学习,共同进步。

相关推荐

  1. Python 基础语法详解

    2024-06-09 17:50:02       13 阅读
  2. Python基础语法

    2024-06-09 17:50:02       21 阅读
  3. MYSQL基础语法

    2024-06-09 17:50:02       23 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-09 17:50:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-09 17:50:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-09 17:50:02       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-09 17:50:02       20 阅读

热门阅读

  1. 力扣1358.包含所有三种字符的子字符串数目

    2024-06-09 17:50:02       11 阅读
  2. 共识算法之争(PBFT,Raft,PoW,PoS,DPoS)

    2024-06-09 17:50:02       15 阅读
  3. 【Vue2/3】使用Provide/Inject 依赖注入跨组件通信

    2024-06-09 17:50:02       13 阅读
  4. Web前端答辩PPT模板:全面解析与高效呈现

    2024-06-09 17:50:02       13 阅读
  5. Vue3图片懒加载封装自定义指令

    2024-06-09 17:50:02       11 阅读
  6. C语言——共用体

    2024-06-09 17:50:02       13 阅读
  7. Docker:镜像命令和容器命令

    2024-06-09 17:50:02       11 阅读
  8. Spring boot SSL证书路径配置

    2024-06-09 17:50:02       11 阅读