[英]passing path parameter/variable from batch file to python, sys.argv[] ony gives last dir and not the whole string
我为 windows 终端创建了自定义命令scan
。 我的目标是自动将我的扫描移动到某个目录。 我将对我的路径进行硬编码,但如果我想将我的扫描移动到不同的目录,我已经包含了一个参数 2(参数 1 是“开始”执行)。 我的批处理文件将路径作为字符串传递给我的 python 脚本。
我知道这一点,因为当我写
scan start "C:/path/to/target/dir/"
进入我的 windows 终端,它会吐出以下内容来运行我的脚本。
python "C:\Users\MY USERNAME\my_scripts\scan.py" start C:/path/to/target/dir/
不幸的是,我无法使用以下代码“读取”整个路径:
print(Path(sys.argv[2]).stem)
在这种情况下,结果是dir
print(Path(sys.argv[0]).stem)
= scan
print(Path(sys.argv[1]).stem)
= start
print(Path(sys.argv[2]).stem)
= dir
为什么我没有得到整个路径,我如何得到它? 我想要这样的东西:
print(Path(sys.argv[2]).stem)
= C:/path/to/target/dir/
您确实正在阅读整个路径。 但是你正在阻止它,缩短为 dir。 使用以下
print(Path(sys.argv[1]))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.