您的位置:

Python批量读取文件

一、Python批量读取文件夹

在Python中,可以使用os模块里的函数os.walk()来遍历文件夹的所有文件。下面是一个示例代码:

import os

path = "/path/to/folder"

for root, dirs, files in os.walk(path):
    for file in files:
        print(os.path.join(root, file))

代码中的path变量用于指定要遍历的文件夹路径。os.walk()返回三个值:当前遍历到的文件夹路径、子文件夹名称列表、当前文件夹中的文件列表。遍历过程中使用os.path.join()函数将当前遍历到的文件夹路径和文件名组合起来。

二、Python读取文件数量

使用os模块里的函数os.listdir()可以获取文件夹中的所有文件,然后使用len()函数统计文件数量。具体代码如下:

import os

path = "/path/to/folder"

files = os.listdir(path)
count = len(files)

print("Total files:", count)

三、Python批量读取文件名

可以使用os模块里的函数os.listdir()获取文件夹中的所有文件名,并循环读取每个文件的名称。下面是一个示例代码:

import os

path = "/path/to/folder"

files = os.listdir(path)

for file in files:
    print(file)

四、Python批量读取nc文件

读取nc文件可以使用netCDF4模块。下面是一个简单的代码示例:

from netCDF4 import Dataset

file_path = "/path/to/file.nc"

with Dataset(file_path, "r") as f:
    print(f.variables)

代码中的Dataset类用于读取nc文件。"r"表示只读模式,可以替换为"w"或"a",分别表示写模式和追加模式。使用with语句可以自动关闭文件。

五、Python批量读取文件夹中的图片

可以使用Pillow模块读取常见的图片格式,如jpg、png、bmp等。下面是一个示例代码:

from PIL import Image
import os

path = "/path/to/folder"

for root, dirs, files in os.walk(path):
    for file in files:
        if file.endswith(".jpg") or file.endswith(".png") or file.endswith(".bmp"):
            file_path = os.path.join(root, file)
            img = Image.open(file_path)
            img.show()

代码中使用os.walk()函数遍历文件夹,使用endswith()方法过滤掉非图片文件。使用Image.open()函数打开图片文件,使用img.show()显示图像。

六、Python批量读取文件os

可以使用Python标准库中os模块提供的函数读取文件。下面是一个示例代码:

import os

with open("/path/to/file.txt", "r") as f:
    content = f.read()
    print(content)

代码中的open()函数用于打开文件,第一个参数为文件路径,第二个参数为打开方式,"r"表示只读模式,可以替换为"w"或"a",分别表示写模式和追加模式。使用with语句可以自动关闭文件,read()函数用于读取文件内容。

七、Python批量读取文件的某一行

使用Python标准库中的linecache模块可以读取指定行的内容。下面是一个示例代码:

import linecache

file_path = "/path/to/file.txt"
line_number = 5

line = linecache.getline(file_path, line_number)
print(line)

代码中的getline()函数用于读取指定行的内容,第一个参数为文件路径,第二个参数为要读取的行号。

八、Python批量读取csv文件

可以使用Python标准库中的csv模块读取csv文件。下面是一个示例代码:

import csv

file_path = "/path/to/file.csv"

with open(file_path, newline='') as f:
    reader = csv.reader(f, delimiter=',')
    for row in reader:
        print(row)

代码中使用csv模块的reader()函数读取csv文件中的内容,需要指定文件路径和分隔符。由于csv文件中的每一行数据都是列表形式,所以可以使用for循环遍历读取每一行数据。

九、Python批量修改文件名

可以使用os模块的rename()函数修改文件名。下面是一个代码示例:

import os

path = "/path/to/folder"

files = os.listdir(path)

for i, file in enumerate(files):
    old_name = os.path.join(path, file)
    new_name = os.path.join(path, f"new_{i}.txt")  # 新文件名
    os.rename(old_name, new_name)

代码中使用enumerate()函数遍历文件名列表,使用os.path.join()组合文件路径和文件名,使用os.rename()函数将文件重命名。

十、Python批量移动文件

可以使用shutil模块中的move()函数移动文件。下面是一个代码示例:

import shutil
import os

src_path = "/path/to/folder1"
dst_path = "/path/to/folder2"

files = os.listdir(src_path)

for file in files:
    src_file_path = os.path.join(src_path, file)
    dst_file_path = os.path.join(dst_path, file)
    shutil.move(src_file_path, dst_file_path)

代码中使用os.path.join()组合文件路径和文件名,使用shutil.move()函数将文件从源文件夹移动到目标文件夹。