222wan

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

python文件修改错误

在python里面同一个文件不可以连续打开两次,想要打开第二次必须先把第一次关掉,不然就会报错

改了一百遍,午后发现是没有关掉文件导致第二次写入失败

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def chanangebook(bookname, type, price, content):
    '''2
    :param bookname:
    :param type:
    :param price:
    :param content:
    :return:
    '''
    f = open(fileName, 'r', newline='', encoding='utf-8')  # r代表只读的方式
    f1 = open(fileName1, 'w', newline='', encoding='utf-8')  # a代表追加方
    csv_writer = csv.writer(f1)
    for line in f.readlines():
 
        book_array = line.strip("\n").split(",")
        if bookname != book_array[0]:
            csv_writer.writerow([str(book_array[0]), str(book_array[1]), str(book_array[2]), str(book_array[3]),
                                 str(book_array[4]).strip("\r").strip("['").strip("']")])
 
        if bookname == book_array[0]:
            if type != '':
                book_array[2] = type
                csv_writer.writerow([str(book_array[0]), str(book_array[1]), str(book_array[2]), str(book_array[3]),
                                     str(book_array[4]).strip("\r").strip("['").strip("']")])
 
            if price != '':
                book_array[3] = price
 
                csv_writer.writerow([str(book_array[0]), str(book_array[1]), str(book_array[2]), str(book_array[3]),
                                     str(book_array[4]).strip("\r").strip("['").strip("']")])
            if content != '':
                book_array[4] = content
 
                csv_writer.writerow([str(book_array[0]), str(book_array[1]), str(book_array[2]), str(book_array[3]),
                                     str(book_array[4]).strip("\r").strip("['").strip("']")])
    f.close()
    f1.close()
    file1 = open(fileName1, "r", encoding='utf-8')
    file2 = open(fileName, "w", encoding='utf-8')
 
    s = file1.read()
    w = file2.write(s)
 
    file1.close()
    file2.close()

  

posted on   角落的蘑菇  阅读(15)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示