python - 在Windows上从Bash传递路径到Python会自动尝试将其转换为绝对路径-是否可以禁止该路径?

标签 python windows bash path

我正在尝试使用sys.argv[x]将路径传递给Python脚本作为参数。但是,从Bash到Python传递上述路径似乎会将其转换为其他路径。这是为什么?
代码:

#!/bin/sh
path='/var/log'
echo "$path"
python script.py "$path"
#!/usr/bin/env python3
import sys
logPath = sys.argv[1]
print(logPath)
输出:
/var/log/
C:/Program Files/Git/var/log/

最佳答案

好的,我做了一些进一步的调查,发现这是mingw的一个“聪明”的已知“特征”。为了解决这个问题,我在bash脚本中添加了以下export:

export MSYS_NO_PATHCONV=1
您可以在git上阅读有关此内容的更多信息:
https://github.com/moby/moby/issues/24029

关于python - 在Windows上从Bash传递路径到Python会自动尝试将其转换为绝对路径-是否可以禁止该路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66317080/

相关文章:

python - 了解 Python 中的位操作函数

python - 修剪 numpy 数组中值的部分

Python __index__ 特殊方法

python - Matplotlib - 不同时刻特定轮廓的图例

java - Java JNA映射中的VirtualAllocEx函数

json - 我无法让 jq 给我我正在寻找的值(value)。

bash - 通过 bash 读取文件夹中的任何 .txt 文件

c# - 如何在 Windows Vista/7/8 上以编程方式启动 SFC?

c - 以编程方式查找单词含义并将其打印到文件

ruby: usr/bin/environment ruby​​ 没有这样的文件或目录