Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-如何将windows路径写入json文件?_Python - Fatal编程技术网

Python-如何将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_

我和一个同事一起工作,他有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_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提供的答案可能会有所帮助。