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日

相关文章

  • 【manim动画教程】– 文本样式

    文本的样式主要指颜色和字体相关的属性设置。 对于manim的两个文本对象 Text和 Tex来说,Text对象有更多的属性可以调整样式,相对来说,由于 Tex主要用来显示数学公式,所以关于样式的属性要少一些。 下面介绍一些我在视频制作时最常用的一些颜色和字体相关的属性。 1. 颜色相关 颜色设置主要分为单色,渐变色两种,对于 Text对象,manim还提供了…

    python 2023年4月18日
    00
  • Python实现的一个简单LRU cache

    下面是Python实现的一个简单LRU cache的完整攻略: 什么是LRU Cache LRU(Least Recently Used)Cache是一种缓存数据结构,它能够在内存中保留最近最少使用的数据,类似于缓存加速器的作用。当缓存中的数据超过容量时,会自动将最近最少使用的数据从缓存中清除,以便为即将到来的新数据腾出空间。 LRU Cache的Pytho…

    python 2023年5月19日
    00
  • Linux下安装PocketSphinx

    下面是安装PocketSphinx的完整攻略: 1. 安装依赖软件包 在安装PocketSphinx之前,我们需要安装一些依赖软件包,包括cmake、autoconf、libtool、bison、swig等。在终端(Terminal)中输入如下命令即可: sudo apt-get install cmake autoconf libtool bison sw…

    python 2023年5月19日
    00
  • python集合用法实例分析

    以下是“Python集合用法实例分析”的完整攻略。 1. 集合的概述 在Python中,集合是一种无序的、可变的数据类型,用于存储一组不重复的元素。集中的素是任意类型的数据,例如数字、字符串、元组等。集合是可变的,可以动态地添加、删除和修改素。下面介绍Python集合的相关知识点。 2. 集合的基本操作 2.1 创建集合 在Python中,可以使用花括号{}…

    python 2023年5月13日
    00
  • Python爬虫小例子——爬取51job发布的工作职位

    Python爬虫小例子——爬取51job发布的工作职位 本文将介绍如何使用Python爬虫爬取51job发布的工作职位,并提供两个示例。 爬取51job发布的工作职位 51job是国内知名的招聘网站,提供了大量的工作职位信息。我们可以使用Python爬虫爬取51job发布的工作职位,并将其保存到本地文件中。下面是爬取51job发布的工作职位的步骤: 1. 分…

    python 2023年5月15日
    00
  • pip报错“OSError: [Errno 13] Permission denied: ‘/usr/local/lib/python3.6/dist-packages/pip/_internal/utils/deprecation.py’”怎么处理?

    当使用pip安装Python包时,可能会遇到“ModuleNotFoundError: No module named ‘pip._vendor.html5lib’”错误。这个错误通常是由以下原因之一引起的: pip安装不完整:如果pip安装不完整,则可能会出现此错误。在这种情况下,需要重新安装pip。 html5lib包缺失:如果html5lib包缺失,则…

    python 2023年5月4日
    00
  • 关于Pyinstaller打包eel和pygame需要注意的坑

    PyInstaller是一个用于打包Python应用程序的工具,支持将Python应用程序打包成可以在没有Python环境的机器上运行的可执行文件。在将eel和pygame应用程序打包成可执行文件时,可能会遇到一些问题和坑,需要注意以下几点: 1. 坑1:Pygame的背景声音无法播放 如果打包的应用程序需要背景声音,需要额外添加pygame_sdl2库,否…

    python 2023年5月13日
    00
  • Python selenium实现大麦网自动购票过程解析

    下面是“Python selenium实现大麦网自动购票过程解析”的完整攻略。 1. 背景介绍 大麦网是一个音乐会、演唱会等票务信息平台,用户可以在该平台上购买各类演出门票。由于一些热门演出的门票常常在瞬间被抢购完毕,使用自动化工具进行抢票已经成为了很多人的选择。 本文介绍了如何使用 Selenium 及 Python 在大麦网进行自动购票的过程,方便大家在…

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