python sys,os,time模块的使用(包括时间格式的各种转换)

Python中的sys, os, time模块都是非常常用的标准库模块。其中sys模块主要用于提供对解释器相关的信息和参数的访问,os模块主要用于操作系统相关的操作,time模块主要用于处理时间相关的操作。下面分别进行详细讲解。

一、sys模块

1.1 获取命令行参数

sys.argv是一个包含命令行参数的列表,第一个元素是脚本的名称,之后的元素是脚本的参数。下面是一个例子:

import sys

if len(sys.argv) < 2:
    print("Usage: python script.py arg1 arg2...")
    sys.exit(1)

print("The command line arguments are:")
for arg in sys.argv[1:]:
    print(arg)

在上面的代码中,我们先判断命令行参数是否足够,如果不足,就输出使用说明并退出程序;如果足够,就遍历命令行参数并将它们打印出来。

1.2 获取当前Python解释器的信息

sys模块还提供了一些函数用于获取当前Python解释器的信息,比如:

import sys

print(sys.version)  # 获取Python解释器的版本信息
print(sys.platform) # 获取Python解释器所在的平台信息
print(sys.maxsize)  # 获取Python整型的最大值

在上面的代码中,我们使用了sys.version、sys.platform和sys.maxsize函数分别获取Python解释器的版本、平台和最大整数值。

二、os模块

2.1 文件和目录操作

os模块主要用于对操作系统的文件和目录进行访问和操作。比如下面是一个例子,用于遍历一个目录:

import os

def walk_dir(path):
    for root, dirs, files in os.walk(path):
        # 遍历当前目录下的所有文件夹和文件
        for filename in files:
            print(os.path.join(root, filename))

if __name__ == '__main__':
    walk_dir('.')

在上面的代码中,我们使用了os.walk函数遍历当前目录下的所有文件夹和文件,并输出它们的路径。

2.2 获取文件和目录的属性

os模块还提供了一些函数用于获取文件和目录的属性,比如:

import os

filename = 'example.txt'

print(os.path.isfile(filename))     # 判断文件是否存在
print(os.path.getsize(filename))    # 获取文件大小
print(os.path.getmtime(filename))   # 获取文件修改时间
print(os.path.abspath(filename))    # 获取文件的绝对路径

在上面的代码中,我们使用了os.path.isfile、os.path.getsize、os.path.getmtime和os.path.abspath函数分别判断文件是否存在、获取文件大小、获取文件修改时间和获取文件的绝对路径。

三、time模块

3.1 时间戳和时间的相互转换

time模块主要用于处理时间相关的操作。比如,我们可以使用time.time()函数获取当前时间的时间戳,然后使用time.localtime()函数将时间戳转换为本地时间:

import time

timestamp = time.time()
localtime = time.localtime(timestamp)

print("Timestamp:", timestamp)
print("Localtime:", localtime)

在上面的代码中,我们使用了time.time和time.localtime函数分别获取当前时间的时间戳和本地时间。

如果要将本地时间转换为时间戳,可以使用time.mktime()函数:

import time

localtime = (2022, 2, 22, 22, 22, 22, 2, 53, 0)
timestamp = time.mktime(localtime)

print("Localtime:", localtime)
print("Timestamp:", timestamp)

在上面的代码中,我们使用了time.mktime函数将时间元组转换为时间戳。

3.2 时间的格式化和解析

time模块还提供了一些函数用于时间格式化和解析,比如:

import time

now = time.time()
localtime = time.localtime(now)

print(time.strftime("%Y-%m-%d %H:%M:%S", localtime))  # 时间的格式化
print(time.strptime("2022-02-22 22:22:22", "%Y-%m-%d %H:%M:%S"))  # 时间的解析

在上面的代码中,我们使用了time.strftime和time.strptime函数分别进行时间的格式化和解析。其中time.strftime函数将时间元组转换为指定格式的字符串,time.strptime函数将字符串解析为时间元组。

四、示例说明

4.1 获取文件夹中所有文件并按时间排序

import os
from datetime import datetime

def get_files_sorted_by_time(path, reverse=False):
    files = []
    for filename in os.listdir(path):
        filepath = os.path.join(path, filename)
        if os.path.isfile(filepath):
            mtime = os.path.getmtime(filepath)  # 获取文件的修改时间
            files.append((filepath, mtime))

    # 按文件的修改时间排序
    files_sorted = sorted(files, key=lambda x: x[1], reverse=reverse)
    return files_sorted

if __name__ == '__main__':
    path = '.'
    files_sorted = get_files_sorted_by_time(path)
    for fileinfo in files_sorted:
        filepath, mtime = fileinfo
        time_str = datetime.fromtimestamp(int(mtime)).strftime("%Y-%m-%d %H:%M:%S")
        print(filepath, time_str)

在上面的代码中,我们使用了os.listdir函数遍历文件夹中的所有文件,然后使用os.path.getmtime函数获取文件的修改时间。最后使用sorted函数进行排序,并使用datetime.fromtimestamp函数将修改时间转换为本地时间。

4.2 获取本地时间并输出到文件

import os
import time

def write_localtime_to_file(filename):
    localtime = time.localtime()
    localtime_str = time.strftime("%Y-%m-%d %H:%M:%S", localtime)

    with open(filename, 'w') as f:
        f.write(localtime_str)

if __name__ == '__main__':
    filename = 'localtime.txt'
    write_localtime_to_file(filename)
    print("Write localtime to file success!")

在上面的代码中,我们使用了time.localtime和time.strftime函数获取本地时间,并将时间字符串写入到文件中。最后,输出成功的提示信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python sys,os,time模块的使用(包括时间格式的各种转换) - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • python读取和保存为excel、csv、txt文件及对DataFrame文件的基本操作指南

    让我们开展Python读取和保存为Excel、CSV、TXT文件及对DataFrame文件的基本操作指南。本攻略将涵盖Python中处理文件的基础知识、如何使用pandas库读取和保存各种格式的文件, 以及如何对pandas DataFrame文件进行基本操作。 一、Python基本文件处理和打开文件 Python使用open()函数打开文件,该函数接受两个…

    python 2023年5月13日
    00
  • Python安装Bs4及使用方法

    Python安装Bs4及使用方法 BeautifulSoup是Python中一个非常流行的HTML和XML解析库,可以帮助我们更方便地解析网页。本文将介绍如何安装Bs4库,并演示如何使用它来解析HTML文档。 安装Bs4库 在使用Bs4库之前,需要先安装它。以下是一个示例代码,演示如何使用pip安装Bs4库: pip install beautifulsou…

    python 2023年5月15日
    00
  • 使用python的chardet库获得文件编码并修改编码

    使用Python的chardet库可以方便地获取文件编码信息,接着我们可以根据需要进行编码转换。以下是使用chardet库获取文件编码并修改编码的完整攻略。 第一步:安装 chardet 库 在使用chardet库之前,我们需要先安装它。可以通过以下命令在终端或命令提示符中安装: pip install chardet 第二步:获取文件编码 使用charde…

    python 2023年5月31日
    00
  • selenium+python实现自动化登录的方法

    下面就提供一份关于“selenium+python实现自动化登录的方法”的完整攻略: 1. 背景介绍 selenium是一种自动化测试工具,可以驱动浏览器执行一系列操作,用于模拟人工的访问行为,实现自动化测试、数据挖掘和网页爬虫等功能。而python是一种简单易用、功能强大的编程语言,具有广泛的应用领域,作为selenium的开发语言也是非常常见的。 在本篇…

    python 2023年5月19日
    00
  • 详解Python 根据名称创建存档和查找文件

    下面是Python根据名称创建存档和查找文件的完整攻略。 创建存档 在Python中,可以使用内置的zipfile模块来创建存档文件。下面是创建存档的步骤: 导入zipfile模块。 import zipfile 创建ZipFile对象并指定存档文件路径和模式(w为覆盖写模式,a为追加模式)。 with zipfile.ZipFile(‘example.zi…

    python-answer 2023年3月25日
    00
  • Mongodb基本操作与Python连接mongodb并进行基础操作的方法

    下面是关于Mongodb基本操作与Python连接mongodb并进行基础操作的攻略: Mongodb基本操作 数据库与集合的创建 在MongoDB中,可以使用use命令创建数据库,例如:use mydb,表示创建一个叫做“mydb”的数据库。然后可以使用db.createCollection()方法来创建一个集合,例如:db.createCollectio…

    python 2023年5月14日
    00
  • 仅用50行代码实现一个Python编写的计算器的教程

    下面是“仅用50行代码实现一个Python编写的计算器的教程”的完整攻略。 1. 设计计算器的功能 在设计计算器的功能时,我们需要考虑以下几个方面: 读入用户输入的表达式。 解析表达式,计算表达式的值。 将计算结果输出给用户。 根据上述需求,我们可以设计出计算器的函数: def evaluate(expression: str) -> float: #…

    python 2023年5月19日
    00
  • 详解Python中for循环的定义迭代方法

    下面是Python中for循环的完整攻略。 什么是for循环? Python中的for循环是一种迭代结构,它可以轻松地遍历序列和其他可迭代对象的元素。for循环执行数次,每次执行时从可迭代对象中获取一个元素,直到可迭代对象的最后一个元素被处理为止。 for循环语法 for循环的基本语法如下: for 变量 in 可迭代对象: # 执行代码块 其中,变量代表从…

    python 2023年5月14日
    00
合作推广
合作推广
分享本页
返回顶部