我刚拿起IronPython并且我一直试图让这个IronPython脚本继续运行,但我一直试图从raw_input获取Path输入作为目录路径。第一个代码块是我正在处理的破坏代码。
import System
from System import *
from System.IO import *
from System.Diagnostics import *
inputDirectory = raw_input("Enter Input Directory's full path [eg. c:\\vid\\]: ")
print ("In: "+inputDirectory)
outputDirectory = inputDirectory +"ipod\\"
print ("Out: "+outputDirectory)
#create the default output directory
for s in DirectoryInfo(inputDirectory).GetFiles("*.avi"):
print s.FullName
arg = String.Format('-i "{0}" -t 1 -c 1 -o "{1}" --preset="iPod"' , s.FullName, outputDirectory + s.Name.Replace(".avi", ".mp4"))
print arg
proc = Process.Start("C:\\Program Files\\Handbrake\\HandBrakeCLI.exe", arg) #path to handbrake goes here
proc.WaitForExit()
以下代码块是我目前正在处理的内容。
import System
from System import *
from System.IO import *
from System.Diagnostics import *
for s in DirectoryInfo("F:\\Tomorrow\\").GetFiles("*.avi"):
arg = String.Format('-i "{0}" -t 1 -c 1 -o "{1}" --preset="iPod"' , s.FullName, "F:\\Tomorrow\\ipod\\" + s.Name.Replace(".avi", ".mp4"))
print arg
proc = Process.Start("C:\\Program Files\\Handbrake\\HandBrakeCLI.exe", arg) #path to handbrake goes here
proc.WaitForExit()
PS:以上工作代码的信用额去jcooney.net的Joseph
答案 0 :(得分:2)
您是否只是在寻找“Directory.CreateDirectory(outputDirectory)”,您在哪里发表评论?如果我添加并运行它(减去进程产生),我得到:
Enter Input Directory's full path [eg. c:\vid\]: C:\Users\Dino\
In: C:\Users\Dino\
Out: C:\Users\Dino\ipod\
C:\Users\Dino\x.avi
-i "C:\Users\Dino\x.avi" -t 1 -c 1 -o "C:\Users\Dino\ipod\x.mp4" --preset="iPod"
但我认为你真的想要查看具有Path.Combine的Path类,你可以使用它而不是仅仅连接字符串。