Java python变量中的空格

Java python变量中的空格,java,websphere,jython,wsadmin,Java,Websphere,Jython,Wsadmin,我有一个变量toPath(包含类似C:/ProgramFiles(x86)/bla的路径)。 我将此变量作为参数传递:'[-operation update-contents'+toPath+']' 但是因为我在这个变量中有一个空格,所以我得到了IllegalArgumentException。 如何修复此问题?用双引号传递参数 toPath = "\"C:/Program Files(x86)/bla\""; 用双引号传递参数 toPath = "\"C:/Program Files(x86

我有一个变量
toPath
(包含类似
C:/ProgramFiles(x86)/bla的路径)。
我将此变量作为参数传递:
'[-operation update-contents'+toPath+']'
但是因为我在这个变量中有一个空格,所以我得到了IllegalArgumentException。
如何修复此问题?

用双引号传递参数

toPath = "\"C:/Program Files(x86)/bla\"";

用双引号传递参数

toPath = "\"C:/Program Files(x86)/bla\"";
试一试

试一试


我不确定,但看起来你正试图犯一个典型的新手错误

如果您试图运行由多个变量生成的命令,则很容易受到注入攻击。要防止出现这种情况,请使用模块并将所有参数作为列表提交。该模块将负责所有的东西,使其与空间以及工作

例如,
ls-l
应按以下方式运行:

subprocess.call(["ls", "-l"])
您的示例包含
[]
,可能会有很大的不同,但如果没有它,则会是:

subprocess.call(['-operation','update', '-contents', toPath])

请注意,除了子流程模块中的
call()
(仅返回返回代码)之外,还有其他函数。

我不确定,但看起来您正试图犯一个典型的新手错误

如果您试图运行由多个变量生成的命令,则很容易受到注入攻击。要防止出现这种情况,请使用模块并将所有参数作为列表提交。该模块将负责所有的东西,使其与空间以及工作

例如,
ls-l
应按以下方式运行:

subprocess.call(["ls", "-l"])
您的示例包含
[]
,可能会有很大的不同,但如果没有它,则会是:

subprocess.call(['-operation','update', '-contents', toPath])

请注意,除了子流程模块中的
call()
(仅返回返回代码)之外,还有其他函数。

您到底想做什么?代码是什么样子的?我们需要更多的信息来帮助你。请编辑您的问题。
toPath
是一个字符串。对吗?如果是,您提到的错误原因是不正确的。你能告诉我
类型(toPath)
的输出吗?@MoinuddinQuadri这可能是stringi的副本。你试图通过shell执行此命令吗?您正在使用
子流程
模块。对吗?尝试以下操作:
子流程。检查调用(['-operation'、'update'、'-contents',toPath])
并让我知道它是否解决了问题。您到底想做什么?代码是什么样子的?我们需要更多的信息来帮助你。请编辑您的问题。
toPath
是一个字符串。对吗?如果是,您提到的错误原因是不正确的。你能告诉我
类型(toPath)
的输出吗?@MoinuddinQuadri这可能是stringi的副本。你试图通过shell执行此命令吗?您正在使用
子流程
模块。对吗?尝试以下操作:
子流程。检查调用(['-operation'、'update'、'-contents',toPath])
并让我知道它是否解决了问题。