我创建了一个字符串
x = "ls"
,我想执行x
作为来自Julia的字符串。我怎么做?
ls
只是我实际上想执行一个更复杂的命令的示例,所以请不要告诉我pwd()
是有效的。
实际命令可能是split c:/data/Performance_All/Performance_2000Q1.txt -n l/3 -d /c/data/Performance_All_split/Performance_2000Q1.txt
答案 0 :(得分:4)
您可以简单地将run
与Cmd
对象一起使用。您可以使用字符串通过Cmd
和插值运算符``
或通过$
构造函数来创建Cmd
对象。
这是一个例子。您可能还是要检查文件路径。
x = "split"
path1 = "c:/data/Performance_All/Performance_2000Q1.txt"
option1 = "-n l/3"
option2 = "-d"
path2 = "/c/data/Performance_All_split/Performance_2000Q1.txt"
run(`$x $path1 $option1 $option2 $path2`) # remember the backticks ``
即使文件路径中有空格,您也不必使用引号。命令对象运行程序并将参数直接传递给程序,而不是通过shell。
您可能需要阅读相关的手册条目。 https://docs.julialang.org/en/v1/manual/running-external-programs/
答案 1 :(得分:3)
df11 = df1[df1.index.isin(df2.index)].copy()
df11[df2.columns] = df11[df2.columns].mul(df2)
print (df11)
a b t
2 40 40 4
2 50 50 5
2 60 60 6
3 140 140 7
3 160 160 8
3 180 180 9
4 300 300 10
4 330 330 11
可用于运行命令并读取其结果。
您可以在test/spawn.jl
中找到运行命令的用法示例重要的是将命令及其参数包装在反引号中。 例如
Base::read