2010-06-12 21 views
1

我剛拿起IronPython,我一直試圖讓這個IronPython腳本去,但我堅持試圖從raw_input得到一個路徑輸入是一個目錄路徑。第一部分代碼是我正在處理的那部分代碼。如何將raw_input()轉換爲目錄?

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

回答

2

你只是尋找「Directory.CreateDirectory(輸出目錄)」你有你對此有何評論?如果我補充一點,並運行此(減去過程產卵)我得到:

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類字符串。

+0

感謝您的回覆!我意識到我今天早上在我的破碎的劇本上有一個錯位的未解決的Print s.Fullname。我認爲它是在Directory.CreateDirectory(outputDirectory)崩潰,這就是爲什麼我刪除它,並用評論替換它(我錯誤地認爲,但我不得不以某種方式將字符串轉換爲可以與Directory類一起使用的類型。) – Azeworai 2010-06-13 01:36:12

相關問題