簡體   English   中英

Python IOError:[Errno 13] linux 中的權限被拒絕?

[英]Python IOError: [Errno 13] Permission denied in linux?

我想將字符串字符寫入文件,但出現這樣的錯誤IOError: [Errno 13] Permission denied: '/python/add.txt' 如何解決這個問題?

這是我的代碼

q = open('/python/add.txt','r')
a = ['123', '234', '456']
lst = []
for line in q:
    for word in a:
        if word in line:
            line = line.replace(word + "\n",'')
    lst.append(line)
q.close()
z = open(r'/python/add.txt','w+')
for line in lst:
    z.write(line)
z.close()

您正在嘗試在文件系統的根級別寫入一個名為“python”的文件夾。 這可能是不允許的。

我猜你不小心在文件路徑的開頭放了一個/ (使其成為絕對路徑),當你打算寫"python/add.txt"時,這是一個相對文件路徑。

您還應該在打開文件時使用with構造,以確保它們在之后關閉。

with語法和更好的變量名的更干凈的版本:


add_file_path = 'python/add.txt'
words_to_replace = ['123', '234', '456']
replaced_lines = []
with open(add_file_path, 'r') as f:
    for line in f:
        for word in words_to_replace:
            if word in line:
                line = line.replace(word + "\n",'')
        lst.append(line)

with open(add_file_path, 'w+') as f:
    for line in replaced_lines:
        f.write(line)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM