Python 循环写入CSV文件并解决权限错误
import numpy as np
import csv
import os
count = 0 # 文件存储序号
# 设置CSV文件路径和文件名
csv_file = os.path.expanduser('~/Desktop/parameters.csv')
# 确定CSV文件是否已存在,如果不存在,则写入表头
csv_exists = os.path.isfile(csv_file)
if not csv_exists:
with open(csv_file, mode='w', newline='') as file:
writer = csv.writer(file)
writer.writerow(['count', 'a', 'b', 'l1', 'w1', 'w2', 'w3', 's1', 's2'])
for a in np.arange(5.6, 6.2, 0.2):
for b in np.arange(5, 5.5, 0.2):
for l1 in np.arange(12, 15, 0.2):
for w1 in np.arange(0.1, 0.8, 0.2):
for w2 in np.arange(0.1, 0.8, 0.2):
for w3 in np.arange(0.3, 0.5, 0.2):
for s1 in np.arange(0.8, 1.2, 0.2):
for s2 in np.arange(0.8, 1.2, 0.2):
count += 1
# 将a、b、l1的值精确到小数点后一位
a = round(a, 1)
b = round(b, 1)
l1 = round(l1, 1)
w1 = round(w1, 1)
w2 = round(w2, 1)
w3 = round(w3, 1)
s1 = round(s1, 1)
s2 = round(s2, 1)
# 写入CSV文件
with open(csv_file, mode='a', newline='') as file:
writer = csv.writer(file)
writer.writerow([count, a, b, l1, w1, w2, w3, s1, s2])
在代码中,使用 os.path.expanduser('~/Desktop/parameters.csv') 获取用户桌面路径,并拼接文件名,将 CSV 文件保存到桌面。你也可以根据需要修改路径,确保将文件保存到你有写入权限的目录。
错误原因:
PermissionError: [Errno 13] Permission denied 错误通常表示程序没有权限写入指定的文件。这可能是由于文件的访问权限设置导致的。例如,你可能尝试写入一个只读文件或者一个你没有写入权限的文件夹。
解决方法:
- 修改文件路径: 将文件保存到你有写入权限的目录中。
- 修改文件权限: 如果需要,可以修改文件的权限设置,以便程序可以写入。
通过修改代码并选择合适的路径和权限设置,就可以解决“Permission denied”错误并成功写入 CSV 文件。
原文地址: https://www.cveoy.top/t/topic/liP 著作权归作者所有。请勿转载和采集!