【发布时间】:2020-12-11 04:51:56
【问题描述】:
所以我正在尝试做一个像 cURL 这样的小东西来下载东西:
onlinedl https://bootstrap.pypa.io/get-pip.py cfg get-pip.py
(字面意思是cURL,但我不会发布它)
目前,这是 onlinedl.bat 文件:
@echo off
md "exampleinstall\install" "exampleinstall\src"
cd exampleinstall/src/
py src
不多,我才刚刚开始。
这是 src.py 文件:
import time
print("installing...")
time.sleep(2)
但是当我运行 onlinedl.bat 文件时,它会显示:
当我直接从 python shell 运行 src.py 文件时,它可以工作:
我见过其他问题,人们将 \ 放入程序中,然后在其后添加内容,这给他们带来了错误,但这个似乎不同。它将“\n”放在新行应该在的位置。为什么会这样,我该如何解决?
【问题讨论】:
-
试试
python src.py -
py命令是什么? -
@venky__ 由于某种原因,python src.py 不起作用,所以我做了 py src.py。它说 C:\Users\lilly\AppData\Local\Programs\Python\Python38\python.exe: can't find 'main' module in 'src'.
-
你应该做的是让你的批处理文件更健壮,我注意到的第一件事是它在创建目录树之前没有尝试确定或定义当前工作目录。然后,在尝试使用这些目录之前,它不会尝试验证这些目录是否已创建。此外,您可以通过使用单行
MD "exampleinstall\install" "exampleinstall\src"而不是第 2、3、4 和 5 行来更有效地执行此操作。 -
虽然@LillyM,但我不会说你已经听从了我的所有建议!尽管
MkDir对MD的使用毫无意义,但我专门为您提供了一行,为什么您将四行替换为两行?在使用其中一个之前,您还没有定义当前的工作目录,也没有执行任何检查该目录实际上是否已创建。