2011-12-30 15 views
0

このスクリプトは、yearidという変数を使用して複数のファイルを生成します。これらのファイルは、yearidに一致するフォルダに配置する必要があります。正しいフォルダに書き込むにはどうしたらいいですか?Pythonの変数に基づいてディレクトリにファイルを書き込む

file_root_name = row["file_root_name"] 
year = row["year"] 
id = row["id"] 
path = year+'-'+id 
try: 
    os.makedirs(path) 
except: 
    pass 
output = open(row['file_root_name']+'.smil', 'w') 
output.write(prettify(doctype, root)) 
+1

を、あなたは 'os.path.join'を使用して一緒にディレクトリとファイル名を配置する方法を求めていますか?それはあなたが苦労していることですか? –

+0

スクリプトは 'year'と' id'変数を使って複数のファイルを生成します。これらのファイルは、 'year'と' id'に一致するフォルダに配置する必要があります。 –

+0

それは質問が言うことです。フォルダ名とファイル名は 'os.path.join'と組み合わされます。あなたは 'os.path.join'の使い方を尋ねていますか? –

答えて

2

私が正しくあなたの質問を理解していれば、あなたはこれをしたい:

import os.path 
file_name = row['file_root_name']+'.smil' 
full_path = os.path.join(path, file_name) 
output = open(full_path, 'w') 

それが文字列連結のための+演算子を使用するようにPythonで非常に一般的ではありませんのでご注意ください。あなたの場合ではありませんが、大きな文字列ではメソッドは非常に高速ではありません。 は私が好む:

file_name = '%s.smil' % row['file_root_name'] 

と:

path = '%i-%i' % (year, id) 
+0

はい!ありがとうございました。これは私が必要なものです! –

+0

説明をありがとうございます。私は例で始まり、学習しています。 –

+0

あなたのメタンと 'TypeError:%d形式:数字が必要です、strではありません ' –

関連する問題