如何解决即使我正在*制作*一个文件,我也会收到“FileNotFoundError”
# lines 1-5
import logging,os
unix_doc_loc = '~\\byeStore'
win32_doc_loc = 'C:\\byeStore'
[...]
# line 108
class Store():
[...]
# lines 132-148
def CacheCatalogue():
import sys,os,time,platform,json
byelogs.debug('sys,os and time were imported')
# catalogue = Store.GetCatalogue() # commented out as this isn't functional yet
catalogue = '{"lastUpdated": 1}'
catalogue = json.loads(catalogue)
byelogs.info('Catalogue recieved.')
byelogs.debug(catalogue)
if sys.platform == 'win32':
byelogs.info('Detected Windows ({}). Using "C:\\byeStore\\"...'.format(sys.platform)) # line 142 - the troublesome line
catcache = open('C:\\byeStore\\catalogue-cache.json','wt')
byelogs.debug('Opened catcache')
if catalogue['lastUpdated'] >= catcache['lastUpdated']:
byelogs.info('Catalouge in cache is old. Updating...')
catcache.write(catalogue)
byelogs.info('Updated.')
这是我的终端输出
Z:\ByeStore\ByeStoreLibs>featuretest.py
Traceback (most recent call last):
File "Z:\ByeStore\ByeStoreLibs\featuretest.py",line 5,in <module>
byestore.Store.CacheCatalogue()
File "Z:\ByeStore\ByeStoreLibs\src\byestore\__init__.py",line 142,in CacheCatalogue
catcache = open('C:\\byeStore\\catalogue-cache.json','wt')
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\byeStore\\catalogue-cache.json'
Z:\ByeStore\ByeStoreLibs>
我记得 'wt'
makes 文件中的 open(file,'wt')
部分。我什至尝试使用 "x"
,但这也不起作用。我只是不能出于某种原因制作文件。
我的文件是 on GitHub,if you want the full source。
解决方法
from pathlib import Path
d = "C:\\byeStore\\"
Path(d).mkdir(parents=True,exist_ok=True)
open(d + "catalogue-cache.json",'w+')
这里有几件事:
- 首先创建目录。
-
'w'
用于创建不存在的文件,而不是't'
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。