我正在尝试检查文件夹是否存在,如果系统没有创建它,则会在此文件夹中写入JSON文件。
问题是系统会创建一个空文件夹并显示以下错误:
None
the selected file is not readble because : [WinError 183] Cannot
create a file when that file already exists: './search_result'
'NoneType' object is not iterable
None
的结果是:print(searchResultFoder)
。
代码是:
if not(os.path.exists("./search_result")):
today = time.strftime("%Y%m%d__%H-%M")
jsonFileName = "{}_searchResult.json".format(today)
fpJ = os.path.join(os.mkdir("./search_result"),jsonFileName)
print(fpJ)
with open(fpJ,"a") as jsf:
jsf.write(jsondata)
print("finish writing")
答案 0 :(得分:0)
代码问题:
案例目录不存在: os.mkdir("./search_result")
在fpJ =
os.path.join(os.mkdir("./search_result"),jsonFileName)
中返回
没有你认为它将返回你创建的路径
夹。这是不正确的。
案例目录存在:如果条件if not(os.path.exists("./search_result")):
是错误的json文件名将是未定义的并抛出和异常
。 正在执行以下操作的完整代码示例。 1)检查文件夹是否存在,如果没有创建它 2)在这个创建的文件夹中写入JSON FILE。
import json
import os
import time
jsondata = json.dumps({"somedata":"Something"})
folderToCreate = "search_result"
today = time.strftime("%Y%m%d__%H-%M")
jsonFileName = "{}_searchResult.json".format(today)
if not(os.path.exists(os.getcwd()+os.sep+folderToCreate)):
os.mkdir("./search_result")
fpJ = os.path.join(os.getcwd()+os.sep+folderToCreate,jsonFileName)
print(fpJ)
with open(fpJ,"a") as jsf:
jsf.write(jsondata)
print("finish writing")
希望这有帮助