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 文件。

Python 循环写入CSV文件并解决权限错误

原文地址: https://www.cveoy.top/t/topic/liP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录