【问题标题】:Replacing your paths, with universal paths - Linux用通用路径替换你的路径 - Linux
【发布时间】:2021-02-27 17:00:42
【问题描述】:

我创建了一个小型 Node.js 应用程序,它还调用了一个 python 脚本。

在节点服务器和 python 脚本中,都存在硬编码路径。

以 Python 为例:

myStoreDir = '/home/user1/Desktop/app/dataContainer/'

在节点的情况下:

var pathAndFileName = '/home/user1/Desktop/app/dataContainer/'+fileName;

当然,这个小应用程序可以在我的系统中完美运行。但是当我将代码提供给同事在 docker 容器中运行应用程序时,他显然遇到了问题,因为这些路径在他的系统上不存在。

有没有办法在 node.js 和 python 中以不同的方式声明这些路径。 这样任何人都可以运行它?

请记住,文件结构/app/dataContainer 肯定会存在,因为这是git pull 的结果。

有没有办法解决这个问题,所以/app之前的路径,固定在git拉目录的位置?

【问题讨论】:

  • 相对路径。操作系统将查找与当前工作目录相关的内容;在app/dataContainer 目录中启动脚本,您可以完全删除硬编码的路径。
  • 我在 /.../app/ 目录下运行 node.js 服务器。 node.js 调用的 python 脚本位于 /.../app/dataContainer 中。我必须修改 routes.js 和 python 脚本。究竟需要改变什么?
  • 你有/long/complex/path/to/app/dataContainer/的地方替换为dataContainer/
  • 谢谢! python 和 node.js 的 javascript 文件都是一样的方法吗?
  • 相对路径是一种操作系统工具,所以是的,任何使用路径的东西。

标签: python node.js python-3.x path filepath


【解决方案1】:

您可以使用相对路径,也可以在调用脚本时将路径作为环境变量或参数的一部分提供

【讨论】:

  • python/javascript里面的代码不能有指定脚本当前目录的参数吗?
  • 这正是“或”之后的部分所描述的。
  • 如果你想要python文件的当前目录,你可以使用os模块和'file'。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-12-17
  • 1970-01-01
  • 2011-01-24
  • 1970-01-01
  • 2017-01-04
  • 1970-01-01
  • 2012-01-11
相关资源
最近更新 更多