• 【Python】如何把一个文件夹中的所有py文件移动到另一个文件夹中?如何把txt文件每一行的内容写入一个列表中?关于系统进程和用户进程的系统监视信息的解读


    一、如何把一个文件夹中的所有py文件移动到另一个文件夹中?

    要将一个文件夹中的所有.py文件移动到另一个文件夹中,我们可以使用命令行或编写一个简单的脚本来完成这个任务。下面是两种方法:

    1.1 使用命令行

    1. 打开命令行终端。
    2. 使用cd命令导航到包含要移动.py文件的源文件夹,例如:
    cd 源文件夹的路径
    
    • 1
    1. 使用mv命令将所有.py文件移动到目标文件夹,例如:
    mv *.py 目标文件夹的路径
    
    • 1

    这将移动源文件夹中的所有.py文件到目标文件夹中。

    1.2 使用Python脚本

    我们也可以编写一个Python脚本来完成这个任务。以下是一个示例脚本:

    import os
    import shutil
    
    # 源文件夹和目标文件夹的路径
    source_folder = '源文件夹的路径'
    target_folder = '目标文件夹的路径'
    
    # 获取源文件夹中所有的.py文件
    py_files = [f for f in os.listdir(source_folder) if f.endswith('.py')]
    
    # 移动.py文件到目标文件夹
    for py_file in py_files:
        source_path = os.path.join(source_folder, py_file)
        target_path = os.path.join(target_folder, py_file)
        shutil.move(source_path, target_path)
    
    print("所有.py文件已移动到目标文件夹。")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    将上述代码中的源文件夹的路径和目标文件夹的路径替换为实际的文件夹路径,然后运行脚本。它会将源文件夹中的所有.py文件移动到目标文件夹中。

    无论我们选择哪种方法,都要确保在操作文件之前备份重要的数据,以防意外删除或移动文件。

    二、如何把txt文件每一行的内容写入一个列表中?

    要将文本文件的每一行内容写入一个列表中,我们可以使用以下Python代码:

    # 打开文本文件以读取每一行内容
    file_path = "your_file.txt"  # 替换为您的文件路径
    with open(file_path, "r") as file:
        lines = file.readlines()
    
    # 移除每行末尾的换行符,并将其存储在列表中
    content_list = [line.strip() for line in lines]
    
    # 打印列表中的内容(可选)
    for line in content_list:
        print(line)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    我们看一下需要的txt文件:

    在这里插入图片描述
    我们尝试:

    # 打开文本文件以读取每一行内容
    file_path = "D:\CodeProject\CLIP+SAM\converts\object365_dict.txt"
    with open(file_path, "r") as file:
        lines = file.readlines()
    
    # 移除每行末尾的换行符,并将其存储在列表中
    content_list = [line.strip() for line in lines]
    
    for line in content_list:
        print(line)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    如果我们想去掉每行开头的数字和冒号,可以使用Python的字符串操作来处理文本内容。以下是如何执行此操作的示例代码:

    # 打开文本文件以读取每一行内容
    file_path = "D:\CodeProject\CLIP+SAM\converts\object365_dict.txt"
    with open(file_path, "r") as file:
        lines = file.readlines()
    
    # 移除每行末尾的换行符,并将其存储在列表中
    content_list = [line.split(":")[1].strip() for line in lines]
    
    for line in content_list:
        print(line)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    这段代码会将文本文件中每行的内容分割成两部分,使用冒号作为分隔符,然后只保留分割后的第二部分(索引为1),即去掉了数字和冒号。最终的文本内容存储在名为content_list的列表中。

    三、关于系统进程和用户进程的系统监视信息的解读

    我们在进行远程连接服务器的时候,需要监控系统的信息,如下图所示:

    在这里插入图片描述

    进程号 USER      PR  NI    VIRT    RES    SHR    %CPU  %MEM     TIME+ COMMAND
    1607917 wangzhe+  20   0   14.2g   3.7g 805844 R 966.1   5.9 324:04.87 python
    1600321 xurui     20   0   38.2g   3.0g 772920 R 114.3   4.8 277:11.00 python
     751772 root      20   0  840484  15288  11500 S   1.0   0.0  65:20.83 sunloginclient
    1601054 xurui     20   0 3041568 120776  25076 S   0.7   0.2   1:44.64 wandb-service(2
        887 root     -51   0       0      0      0 S   0.3   0.0   6:54.00 irq/125-nvidia
        911 systemd+  20   0   14828   4104   3420 S   0.3   0.0   9:24.54 systemd-oomd
    1566168 wangzhe+  20   0 1513096 651532  44308 S   0.3   1.0   4:10.73 node
    1595962 wangzhe+  20   0  987216 169104  38516 S   0.3   0.3   1:34.90 node
    1607462 xurui     20   0   38.3g   2.4g  86604 S   0.3   3.9   0:01.66 python
    1610358 wangtao   20   0  956504  95180  45312 S   0.3   0.1   0:02.63 node
    1610438 wangtao   20   0  991732 221932  39080 S   0.3   0.3   0:26.31 node
    1611222 wangzhe+  20   0   22348   4572   3436 R   0.3   0.0   0:00.07 top
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    这是一个关于系统进程和用户进程的系统监视信息,通常是通过top或类似的工具获取的。以下是一些关于这个信息的解读:

    1. 进程号 (PID):每个运行的进程都有一个唯一的进程号,用于在系统中标识和管理进程。
    2. USER:这是运行进程的用户。
    3. %CPU 和 %MEM:这是进程的 CPU 使用率和内存使用率。%CPU 表示进程当前正在使用的 CPU 百分比,%MEM 表示进程当前正在使用的内存百分比。
    4. COMMAND:这是进程的命令行命令或程序的名称。

    现在让我们关注其中几个进程的信息:

    1. 进程号为 1607917,用户为 wangzhe+,命令为 python。这个进程正在使用大约 14.2GB 的虚拟内存和 3.7GB 的物理内存。它的 CPU 使用率非常高(%CPU 为 966.1%),表明它正在消耗大量的 CPU 资源。已经运行了 324:04.87 时间。
    2. 进程号为 1600321,用户为 xurui,命令为 python。这个进程正在使用大约 38.2GB 的虚拟内存和 3.0GB 的物理内存。它的 CPU 使用率也相对较高(%CPU 为 114.3%),已经运行了 277:11.00 时间。
    3. 进程号为 751772,用户为 root,命令为 sunloginclient。这个进程正在使用大约 840MB 的虚拟内存和 15MB 的物理内存。它的 CPU 使用率较低(%CPU 为 1.0%),已经运行了 65:20.83 时间。
    4. 进程号为 1601054,用户为 xurui,命令为 wandb-service。这个进程正在使用大约 3GB 的虚拟内存和 120MB 的物理内存。已经运行了 1:44.64 时间。

    上述信息可以帮助我们了解系统中正在运行的进程的状态和资源使用情况,以便进行性能监视和故障排除。如果我们遇到性能问题或需要释放资源,可以根据这些信息来采取适当的措施,例如优化代码、杀死不必要的进程或升级硬件。

    上面的时间324:04.87怎么理解?

    324:04.87 表示进程的运行时间,通常以时:分:秒的格式表示。在这个例子中:

    • 324 表示进程已经运行了324小时。
    • 04 表示进程已经运行了4分钟。
    • 87 表示进程已经运行了87秒。

    所以,总的来说,进程号 1607917 的进程已经运行了324小时、4分钟和87秒。这是进程的总运行时间,可以用来衡量进程在系统上的稳定性和持久性。

  • 相关阅读:
    Verilog基础:避免混合使用阻塞和非阻塞赋值
    Python面向对象 —— 类属性「二」(属性获取机制和陷阱、代码示例、执行流程分析)
    Redis事务失效的三种场景
    android Google官网 :支持不同的语言和文化 rtl / ltr : 本地化适配:RTL(right-to-left) 适配
    一比一还原axios源码(三)—— 错误处理
    SpringCloud GateWay自定义过滤器之GatewayFilter和AbstractGatewayFactory
    web项目的开发--第一天
    Flutter常用命令,持续更新
    阿里二面:RocketMQ 消息积压了,增 加消费者有用吗?
    计算机组成原理——中央处理器-指令执行过程(课程笔记)
  • 原文地址:https://blog.csdn.net/wzk4869/article/details/132916016