文章内容

2023/10/12 22:23:54,作 者: 黄兵

Python 创建文件代码片段

使用 Python 实现:判断当前目录是否存在 product_phone_number.csv,如果存在读取为列表,如果不存在,新建文件

下面是实现的代码片段:

import os
import csv

def check_and_read_csv(filename):
    if os.path.exists(filename):
        # 文件存在,读取为列表
        with open(filename, 'r', newline='') as file:
            reader = csv.reader(file)
            data = [row for row in reader]
        return data
    else:
        # 文件不存在,新建文件
        with open(filename, 'w', newline='') as file:
            # 可以根据需要写入一些默认数据
            # writer = csv.writer(file)
            # writer.writerow(['Header1', 'Header2', 'Header3'])
        return []

# 检查并读取/新建文件
filename = 'product_phone_number.csv'
data = check_and_read_csv(filename)

# 打印数据(示例)
print(data)

这个代码首先检查是否存在名为 product_phone_number.csv 的文件。如果文件存在,则使用 csv.reader 读取文件内容,并将其存储为列表 data。如果文件不存在,则创建一个新文件,并返回一个空列表。

但是上面读取的文件会是这样的:[['123456']],我们需要:['123456'],可以将代码修改成下面的方式:

import os
import csv

def check_and_read_csv(filename):
    if os.path.exists(filename):
        # 文件存在,读取为列表
        with open(filename, 'r', newline='') as file:
            data = [row.strip() for row in file.readlines()]
        return data
    else:
        # 文件不存在,新建文件并写入默认数据
        with open(filename, 'w', newline='') as file:
            file.write('7821994367\n')  # 写入默认数据
        return ['7821994367']

# 检查并读取/新建文件
filename = 'product_phone_number.csv'
data = check_and_read_csv(filename)

# 打印数据(示例)
print(data)

使用 file.readlines() 一次性读取所有行,并通过列表推导式去除每一行的多余空白字符。这样,每次调用 check_and_read_csv 函数时都会重新读取文件的内容,确保获取到最新的数据。


分享到:

发表评论

评论列表