文章内容
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 函数时都会重新读取文件的内容,确保获取到最新的数据。
评论列表