1 回答
TA贡献1820条经验 获得超2个赞
您使用
@py.exe C:\Users\lukev\PythonScripts %*
在批处理文件中。要传递到的路径是文件夹路径。py.exe
这将创建一个错误:
C:\Users\lukev\AppData\Local\Programs\Python\Python38-32\python.exe: can't find '__main__' module in 'C:\\Users\\lukev\\PythonScripts'
错误是精确的。路径是文件夹路径,因此Python所做的是查找入口点。如图所示,该入口点是 。如果找不到入口点,则会显示错误消息。__main__.py
如果要执行文件,请直接执行它:
@py.exe C:\Users\lukev\PythonScripts\pw.py %*
要了解模块入口点,请创建一个名为 的文件夹,并在名为 的目录中创建一个文件。在此文件中插入以下代码:__main__
C:\PythonExecutable
__main__.py
import sys
if __name__ == '__main__':
# Check command line arguments.
if len(sys.argv) > 1:
if sys.argv[1] == '-h':
print('I am here to help')
else:
for index, item in enumerate(sys.argv):
print(index, item)
else:
print('I am ', __name__)
在命令提示符下输入一些命令:
C:\> py PythonExecutable
I am __main__
C:\> py PythonExecutable -h
I am here to help
C:\> py PythonExecutable arg1 arg2 arg3 "I am the fourth"
0 PythonExecutable
1 arg1
2 arg2
3 arg3
4 I am the fourth
C:\>
不应用 中的 shebang 行,因为不会从此文件中读取。__main__.pypy.exe
添加回答
举报