文章目录

  • python中如何对文件夹中的路径进行循环遍历
  • python中 f“” 的用法
  • str.format()


python中如何对文件夹中的路径进行循环遍历

使用os.path.join()函数

  • 一个情景
    当我们需要处理数据时,数据保存在txt文件,或者语音处理wav文件
    并且以后多个文件,其代表着某一任务下不同参数得到的结果。
    所以我们需要使用路径来读取文件,
    如果需要一次性读取多个,那么则循环遍历。

这里需要用到 os.path.join 操作

举个例子,在当前路径的test文件夹中存在着

test_result_1.txt

test_result_2.txt

test_result_3.txt

test_result_4.txt

四个txt文件

test文件目录

python 循环读入文件内容 python如何循环读取文件_txt文件

我们现在希望遍历

run.py文件

import os
cnt = 1   #第一个txt文件的末尾为1,所以设置cnt为1
TEMP = []
for i in range(0,4):   #这里循环4次,因为文件夹中有4个txt文件
    temp_name = "test_result_" + str(cnt) + ".txt"
    cnt = cnt + 1
    prexfix_path = "/test/"  #这里是指所在文件夹的路径,
    txt_path = os.path.join(prexfix_path, temp_name)
    #下面将txt_path输入到需要的函数中,假设本例中是txt_read()函数的参数是txt文件路径
    # run()函数返回的结果保存到result中
    result = txt_read(txt_path)
    #将每次的结果result添加到TEMP中, 从而可以使得
    TEMP.append(result)
print(TEMP)

join函数的用到的地方还有很多, 此处记录一下关于os.path.join()应用于遍历路径。

更新一种方法:

python中 f“” 的用法

可以直接使用f“test/{}.py”

temp = "test_result_1"
PATH = f"test/{temp}.txt"
print(PATH)
# 输出:test/test_result_1.txt

这里直接用了一个括号,就可以把temp加进去了,等于直接使用了参数
用于for循环同样好用,很方便的用于path。

下面介绍他背后的一些知识:

str.format()

我们在使用print,之前会使用到,format
一般是这样的:

name = "xiaoming"
age = 18
print("hi, i am {}. i am {}".format(name, age))
# 输出: hi, i am xiaoming. i am 18

但是当string中的参数十分的多的时候,我们在format()内容较长,这样看起来是比较冗长的,于是出现了f-string

name = "xiaoming"
age = 18
print(f"hi, i am {name}. i am {age}")
# 输出: hi, i am xiaoming. i am 18