繁体   English   中英

将路径参数/变量从批处理文件传递到 python,sys.argv[] 仅给出最后一个目录而不是整个字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM