2024-05-17 11:35:43 发布
网友
我正在调用ant的脚本。我从调用者那里得到一个字符串,但是python奇怪地把它当作两个单独的字符串,我有一个脚本,它在windows中读取一个带有路径的文件名。文件夹结构之间可能有空格,也可能没有空格
下面是一个例子
test.py D:/test/File Name
我知道这可以用optparse来完成。有没有办法把参数读作一个参数 就像我想在sys.argv[index]中得到它一样(作为一个字符串)。我已经厌倦了用“和”作前缀,但没有成功。
根据MS: https://msdn.microsoft.com/en-us/library/windows/desktop/17w5ykft(v=vs.85).aspx
反斜杠按字面意思解释,除非它们紧跟在双引号之前。
如果Windows上的Python使用以下方法,我会很高兴: https://msdn.microsoft.com/en-us/library/windows/desktop/bb776391(v=vs.85).aspx
分析命令行以创建sys.argv。 从理论上讲,它应该这样做。
传递用引号括起来的文件夹名称:
test.py "D:\test\File Name"
sys.argv[1]将包含文件夹路径,包括空格。
sys.argv[1]
如果由于某种原因,无法引用文件夹名,则需要使用ctypes模块并使用Win32 API的GetCommandLine函数。这是一张functional example。
ctypes
GetCommandLine
将空格作为参数传递的约定是通过转义空格。
test.py D:/test/File\ Name
这样您就可以访问python脚本中的“D:/test/File Name”。
根据MS: https://msdn.microsoft.com/en-us/library/windows/desktop/17w5ykft(v=vs.85).aspx
反斜杠按字面意思解释,除非它们紧跟在双引号之前。
如果Windows上的Python使用以下方法,我会很高兴: https://msdn.microsoft.com/en-us/library/windows/desktop/bb776391(v=vs.85).aspx
分析命令行以创建sys.argv。 从理论上讲,它应该这样做。
传递用引号括起来的文件夹名称:
sys.argv[1]
将包含文件夹路径,包括空格。如果由于某种原因,无法引用文件夹名,则需要使用
ctypes
模块并使用Win32 API的GetCommandLine
函数。这是一张functional example。将空格作为参数传递的约定是通过转义空格。
这样您就可以访问python脚本中的“D:/test/File Name”。
相关问题 更多 >
编程相关推荐