PythonOS模块的使用(批量创建目录,文件,读取及获取文件信息,启动文件)

OS模块的使用1

示例代码:批量创建及删除目录,文件,遍历目录树。

import os
print("当前的工作路径",os.getcwd())
lst=os.listdir()
print("当前路径下的所有文件及目录",lst)
print("指定路径下的所有文件及目录",os.listdir("D:\编程\python"))
#在当前路径创建文件夹
# os.mkdir("好好学习")#如果该文件夹存在就会报错
#创建多级目录
# os.makedirs("./aa/bb/cc")
#删除目录
# os.rmdir("./好好学习")#./表示当前目录
#删除多级目录
# os.removedirs("./aa/bb/cc")
#改变当前的工作路径
# os.chdir("D:/python")
#遍历目录树,相当于递归
for dir,dirlist,filelist in os.walk("D:\编程\python"):
    print(dir)
    print(dirlist)
    print(filelist)
    print("-----------------------")

注意:创建或者删除的代码会在左边的目录栏显示,显示路径的目录及文件是自己创建的内容,这里就不展示代码结果。

OS模块的使用2

示例代码:利用time模块写一个函数可以将OS获取的时间转化为字符串的易读的形式。

注意:最后一个是启动文件,这里我获取了QQ的文件位置来启动。

import os
# os.remove("a.txt")#删除文件,没有则会FileNotFoundError: [WinError 2] 系统找不到指定的文件。
#重命名
# os.rename("./aa.txt","./aaa.txt")
#转换时间格式
import time
def data_format(longtime):
    s=time.strftime("%Y-%m-%d-%H:%M:%S",time.localtime(longtime))
    return s
#获取文件信息
info=os.stat("一维.txt")
print(type(info))
print(info)
print("最近的一次访问时间",data_format(info.st_atime))
print("在Windows操作系统显示的创建时间",data_format(info.st_ctime))
print("最近的一次修改时间",data_format(info.st_mtime))
print("文件的大小(单位是字节):",info.st_size)
#启动路径下的文件
# os.startfile("calc.exe")
os.startfile("C:\Program Files\Tencent\QQNT\QQ.exe")

代码结果:

<class 'os.stat_result'>
os.stat_result(st_mode=33206, st_ino=1125899907110553, st_dev=3221908643, st_nlink=1, st_uid=0, st_gid=0, st_size=39, st_atime=1716636658, st_mtime=1716636658, st_ctime=1716635279)
最近的一次访问时间 2024-05-25-19:30:58
在Windows操作系统显示的创建时间 2024-05-25-19:07:59
最近的一次修改时间 2024-05-25-19:30:58
文件的大小(单位是字节): 39

点击QQ文件属性里可以看见

运行代码后就会开启该文件

OS.path模块的使用

示例代码:可以判断路径或者文件是否有效,文件是否存在,分隔文件名和后缀名等等

import os.path
print("获取目录或者文件的绝对路径:",os.path.abspath("c.txt"))
print("判断目录或者文件在磁盘上是否存在:",os.path.exists("d.txt"))
print("判断目录或者文件在磁盘上是否存在:",os.path.exists("z.txt"))
print("拼接路径",os.path.join("D:python/第十一章","d.txt"))
print("分隔文件名和文件的后缀:",os.path.splitext("d.txt"))#元组类型
print("提取文件名:",os.path.basename("D:\编程\python\第十一章\c.txt"))
print("提取路径:",os.path.dirname("D:\编程\python\第十一章\c.txt"))

print("判断一个路径是否是有效路径:",os.path.isdir("D:\编程\python\第十一章"))#不包含文件名
print("判断一个路径是否是有效路径:",os.path.isdir("D:\编程\python\第100章"))

print("判断一个文件是否是有效文件:",os.path.isfile("D:\编程\python\第十一章\c.txt"))
print("判断一个文件是否是有效文件:",os.path.isfile("D:\编程\python\第十一章\cccc.txt"))

代码结果:根据自己的文件为准

获取目录或者文件的绝对路径: D:\编程\python\第十一章\c.txt
判断目录或者文件在磁盘上是否存在: True
判断目录或者文件在磁盘上是否存在: False
拼接路径 D:python/第十一章\d.txt
分隔文件名和文件的后缀: ('d', '.txt')
提取文件名: c.txt
提取路径: D:\编程\python\第十一章
判断一个路径是否是有效路径: True
判断一个路径是否是有效路径: False
判断一个文件是否是有效文件: True
判断一个文件是否是有效文件: False

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你要并行读取两组批量文件数组,可以使用Python的`multiprocessing`模块。具体步骤如下: 1. 导入`multiprocessing`模块和`os`模块: ```python import multiprocessing import os ``` 2. 定义一个读取文件的函数,这个函数可以接受一个文件名列表作为输入参数,并返回读取文件内容: ```python def read_files(file_list): contents = [] for file_name in file_list: with open(file_name, 'r') as f: contents.append(f.read()) return contents ``` 3. 定义两个文件名列表,分别代表要读取的两组文件数组: ```python files1 = ['file1.txt', 'file2.txt', 'file3.txt'] files2 = ['file4.txt', 'file5.txt', 'file6.txt'] ``` 4. 计算每个进程需要读取文件名列表: ```python num_processes = 2 files_per_process = len(files1) // num_processes file_lists = [(files1[i:i+files_per_process], files2[i:i+files_per_process]) for i in range(0, len(files1), files_per_process)] ``` 5. 创建进程池,并使用`map`方法调用`read_files`函数读取文件内容: ```python with multiprocessing.Pool(processes=num_processes) as pool: results = pool.map(read_files, file_lists) ``` 6. 对于每个进程返回的文件内容列表,将它们合并为一个大的文件内容列表: ```python contents1 = [] contents2 = [] for result in results: contents1.extend(result[0]) contents2.extend(result[1]) ``` 现在,`contents1`和`contents2`分别代表两组批量文件数组的内容。注意,这种方法假设两组文件数组中的文件数是相等的,如果不相等,需要进行额外的处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值