Python-如何将windows路径写入json文件?
我和一个同事一起工作,他有Ubuntu,而我有windows。我们有一个json文件的数据集,其中有一条写着“路径”。他的路线是这样的:Python-如何将windows路径写入json文件?,python,Python,我和一个同事一起工作,他有Ubuntu,而我有windows。我们有一个json文件的数据集,其中有一条写着“路径”。他的路线是这样的: 'C:/Users/krock/Desktop/FIIT/BP/Ubuntu/luadb/etc/luarocks_test/modules/30log/share/lua/5.3/30log.lua' 'C:\\Users\\krock\\Desktop\\FIIT\\BP\\Ubuntu\\luadb\\etc\\luarocks_test\\data_
'C:/Users/krock/Desktop/FIIT/BP/Ubuntu/luadb/etc/luarocks_test/modules/30log/share/lua/5.3/30log.lua'
'C:\\Users\\krock\\Desktop\\FIIT\\BP\\Ubuntu\\luadb\\etc\\luarocks_test\\data_all'
但这在Windows上不起作用,我正试图这么做
some_string.replace('/', '\\')
但这会导致使用json编写的字符串如下所示:
'C:/Users/krock/Desktop/FIIT/BP/Ubuntu/luadb/etc/luarocks_test/modules/30log/share/lua/5.3/30log.lua'
'C:\\Users\\krock\\Desktop\\FIIT\\BP\\Ubuntu\\luadb\\etc\\luarocks_test\\data_all'
在我的windows计算机上,我无法读取(程序)这些路径,因为它给出了一个错误:
没有这样的文件或目录
有解决办法吗
编辑:我尝试使用pathlib中的路径,但我遇到另一个错误,错误是:
TypeError:WindowsPath类型的对象不可JSON序列化
我发现解决这个问题的方法是使用str(Path(Path_string)),但结果还是用双引号表示路径。是的,解决方案是使用Python内置的pathlib。此外,使用字符串文字可能有助于提高程序的清晰度
这个问题缺少代码示例,因此不能更具体,但一般来说,手动执行此操作容易出错。考虑使用一个库,例如。例如:
在Windows上,实例化路径将为您提供一个WindowsPath。您还需要使用相对引用,而不是绝对引用,因为路径在您的工作站上会有所不同。您看到了吗。'/'是一个有效的分隔符。另外,作为一个橡皮鸭,你确定路径确实存在吗?您可以在资源管理器中导航到路径吗?还有,为什么要尝试用JSON存储(绝对)路径?这实际上现在可以工作了,但我几乎可以肯定以前没有现在可以了。在尝试Path()之后更新了帖子。我认为统一两个系统以及将路径信息保存到json的最佳方法是将路径名保存为posix路径。Python的pathlib足够智能,可以处理所有内容,因此在windows上,您可以很好地加载posix样式的路径。pathlib模块就是为此目的创建的。在尝试Path()后更新了post。这就是为什么您应该提供代码来演示您的问题。请提供一个代码示例,我们将能够更好地提供帮助。以上@xinkecf35提供的答案可能会有所帮助。