隨着下面的代碼我接收IOError: [Errno 13] Permission denied
,我知道這是由於輸出目錄是輸入目錄的子文件夾中:Python的IO錯誤:[錯誤13]權限被拒絕
import datetime
import os
inputdir = "C:\\temp2\\CSV\\"
outputdir = "C:\\temp2\\CSV\\output\\"
keyword = "KEYWORD"
for path, dirs, files in os.walk(os.path.abspath(inputdir)):
for f in os.listdir(inputdir):
file_path = os.path.join(inputdir, f)
out_file = os.path.join(outputdir, f)
with open(file_path, "r") as fh, open(out_file, "w") as fo:
for line in fh:
if keyword not in line:
fo.write(line)
然而,當我將輸出文件夾更改爲:outputdir = "C:\\temp2\\output\\"
代碼成功運行。我希望能夠將修改後的文件寫入輸入目錄的子文件夾。我如何做到這一點,而沒有得到'權限被拒絕'的錯誤? tempfile
模塊在這種情況下會有用嗎?
你有權限寫在那裏嗎?我個人會使用'tempfile',因爲它更乾淨。 – Blender 2012-03-28 04:06:47
你可以把fh寫成可寫嗎? – tartar 2012-03-28 04:06:51
作爲旁註,如果使用原始字符串,則不需要雙反斜槓。例如:'r「C:\ Temp1 \ CSV \ Output \」'與'「C:\\ Temp1 \ CSV \\ Output \\」'。 – 2012-03-28 05:30:56