2015-11-20 53 views
0

我正在嘗試創建一個文件,但在不同的目錄中。例如,當我的應用程序是在/home/app1我想在/home/logs如何在不同的目錄中創建文件

我試圖像這樣創建一個文件:

json_file = "%s.json" % json_name 
    json_file_path = pathlib.Path("%s/%s" % (path, json_file)) 

    if not json_file_path.is_file(): 

     file = open(json_file_path, 'w+') 
     file.close() 
    else: 
     print("NotMkay") 

其中,路徑是/home/logs,json_file是文件名「example.json」和json_file_path是路徑+ json_file

但是,所有我得到的是:

TypeError: invalid file: PosixPath 
+0

什麼是'path'?什麼是'json_name'?你的錯誤堆棧跟蹤的其餘部分是什麼? – Kevin

回答

2
file = open(json_file_path, 'w+') 

我不認爲你可以將Path對象作爲參數傳遞給open。相反,請嘗試

file = json_file_path.open('w+') 
0

使用os.path.join來加入路徑並且os.path存在用於檢查。字符串格式化並不安全。 工作實例

import os.path 
json_file = "%s.json" % 'tst.json' 
json_file_path = os.path.join('~', json_file) 
print(os.path.exists(json_file_path)) 

這將打印 '假'。 創建dirtree可以使用:

os.makedirs(json_file_path) 
相關問題