python中PermissionError: [Errno 13] Permission denied: 'trips.csv'报错

刚学python,遇到一个小坑,记录一下,在进行文件的写入和读取操作时,开始还可以正常运行,后来报错PermissionError: [Errno 13]

编写代码:
1.创建一个csv文件,像文件中写入数据:

		#将数据保存在列表中,miles_driven,gallons_used,mpg三个数据时手动输入赋值的
        trip_list.append([miles_driven,gallons_used,mpg])
 		#以写的模式打开文件
        with open("trips.csv",'w',newline='') as csvfile:
            writer = csv.writer(csvfile)

            #写入表头
            writer.writerow(['Distance','Gallons', 'MPG'])
            #将数据写入csv文件
            writer.writerows(trip_list)

2.读取刚才的文件

		#以读模式打开文件
		with open("trips.csv",'r') as csvfile:
            #读取csv文件数据
            reader = csv.reader(csvfile)
            for line in reader:
                print(line)

3.第一次运行,运行成功

Enter miles driven :     121
Enter gallons of gas:     11
Miles Per Gallon:	11.0
['Distance', 'Gallons', 'MPG']
['121.0', '11.0', '11.0']

4.然后我在外面找到,trips.csv的目录,打开了文件,写入和读取成功了
python中PermissionError: [Errno 13] Permission denied: 'trips.csv'报错_第1张图片

当我再次运行程序的时候

Enter miles driven :     121
Enter gallons of gas:     11
Miles Per Gallon:	11.0
Traceback (most recent call last):
  File "A:/Pycharm/pythonfile/lab_py_0424_part2/mpg_write.py", line 63, in <module>
    main()
  File "A:/Pycharm/pythonfile/lab_py_0424_part2/mpg_write.py", line 45, in main
    with open("trips.csv",'w',newline='') as csvfile:
PermissionError: [Errno 13] Permission denied: 'trips.csv'

Process finished with exit code 1

提示时权限错误,可是刚刚不是运行成功了么,想想刚刚好像在外面打开了那个要写入的文件,然后自己将那个在外部文件夹excel打开的trips.csv文件关了,再次运行,运行成功!

总结:python打开文件的时候,不能操作在外部已打开文件,否则报错PermissionError。解决办法,将已打开的文件关了,继续运行。

你可能感兴趣的:(笔记,python,csv)