【发布时间】:2020-04-26 02:08:23
【问题描述】:
我正在使用下面的代码将一个字典数组输出到一个 csv 文件中。在 PyCharm 中,它创建一个新文件或更新同名的现有文件。 从 .bat 文件运行时,它的工作方式如上。 当我安排 .bat 文件在 Windows 任务计划程序中运行时,它失败并显示: PermissionError:[Errno 13] 权限被拒绝:'test-25-Apr-2020.csv'
到目前为止我尝试过的事情:
- 更新了项目文件夹的安全权限,以便每个类型 的用户将所有权限设置为“允许”。
- 确认文件在写入时未打开。
- 创建了 .bat 的快捷方式并将其设置为以管理员身份运行,并在任务计划程序中引用它。
- 将项目文件夹从 D:\ 到 C:\ 正下方
.
import csv
import datetime
def downloadCSV(result, file):
keys = result[0].keys()
with open(file, 'w', newline='') as output_file:
dict_writer = csv.DictWriter(output_file, keys)
dict_writer.writeheader()
dict_writer.writerows(result)
inputList = [
{"test": "value1"},
{"test": "value2"},
{"test": "value3"},
{ "test": "value4"}
]
timeNow = datetime.datetime.now()
formattedTime = timeNow.strftime("%d") + "-" + timeNow.strftime("%b") + "-" + timeNow.strftime("%Y")
fileName = 'test-' + formattedTime + '.csv'
downloadCSV(inputList, fileName)
【问题讨论】:
-
您是否以管理员身份运行 PyCharm?
-
问题在于您的 TS 设置。您没有发布但已努力在代码中复制。
-
@GaneshSatpute 我的 PyCharm 没有以管理员身份运行。我希望上面列表中的 #1 和 #3 的组合能够解决任何权限问题。
-
@Mark 我不知道 TS 设置是什么,请您详细说明一下吗?
-
任务计划程序设置。
标签: python cmd command-line