我很难相信 python 在 2020 年仍然存在创建文件的问题......所以,我假设它是 windows 或我......这是带有输出的代码。我尝试了 w、w+、wt 模式,错误消息如下。使用 w, w+, wt 的全部意义在于如果文件不存在则创建该文件我已更改为使用 Path.touch,然后使用仅给出和错误输入的 a、a+ 模式import sysprint("Python version:")print (sys.version)import platformprint("Platform: {} - {} - {}".format(platform.system(), platform.release(), platform.version()))from pathlib import Pathoutput = 'hello world!'save_dir = Path.cwd().joinpath("./sw_out")if(save_dir.exists() == False): save_dir.mkdir() print("dir exists now: {}".format(save_dir.exists()))debug_file = save_dir.joinpath("my_debug.txt")#debug_file.touch(exist_ok=True)print(str(debug_file))with(open(debug_file), 'w+') as f: f.write(output)f.close()Python version:3.7.6 | packaged by conda-forge | (default, Dec 26 2019, 23:30:11) [MSC v.1916 64 bit (AMD64)]Platform: Windows - 10 - 10.0.17763dir exists now: TrueC:\users\me\project\sw_out\my_debug.txt---------------------------------------------------------------------------FileNotFoundError Traceback (most recent call last)<ipython-input-19-447d2a994262> in <module> 16 #debug_file.touch(exist_ok=True) 17 print(str(debug_file))---> 18 with(open(str(debug_file)), 'w+') as f: 19 f.write(output) 20 f.close()FileNotFoundError: [Errno 2] No such file or directory: 'C:\\users\\me\\project\\sw_out\\my_debug.txt'
3 回答
繁花如伊
TA贡献2012条经验 获得超12个赞
你这样做是错的。
改变这个:
with(open(debug_file), 'w+') as f:
至:
with(open(debug_file, 'w+')) as f:
这与以下内容相同:
with open(debug_file, 'w+') as f:
德玛西亚99
TA贡献1770条经验 获得超3个赞
试试这样:
#debug_file.touch(exist_ok=True)
print(str(debug_file))
with open(debug_file, 'w+') as f:
f.write(output)
f.close()
这对我有用。
添加回答
举报
0/150
提交
取消