2016-07-26 10 views
0

3つの入力引数を取り、3つの引数を連結した名前のディレクトリを作成するpythonスクリプトを生成しようとしています。私が与えるコマンドはpython new.py user1 32 maleです。私はuser1_32_maleとして作成されたディレクトリ名を取得する必要がありますが、user_name + "" + age + "" + genderというディレクトリ名を取得しています。誰かが私のコードPythonでユーザー入力ディレクトリ名を作成

#!/usr/bin/python 

import pexpect 
import numpy as np 
#import matplotlib.pyplot as plt 
#import pylab as p 
from math import * 
from sys import argv 
import os.path 
import numpy as np 
import os, sys 
#print "Hello, Python!" 

script, user_name, age, gender = argv 

dirname = user_name + "_" + age + "_" + gender 
newpath = r'./dirname' 
if not os.path.exists(newpath): 
    os.makedirs(newpath) 
+0

引用符の種類を選択してください( '「'や '『')とそれを使用。あなたが同じ表現にし、ナンセンスで終わる両方の混合している。 – khelwood

+0

文字列を' R』./ USER_NAME +」文字列の中に他のものを入れたくない場合は、文字列の中に入れないでください。 – TessellatingHeckler

答えて

0

を修正してくださいすることができますあなたはにしたい式を置くあなたが引用符でするディレクトリ名にを評価するので、それは評価されません。お試しください:

newpath = r'./' + user_name + "_" + age + "_" + gender 
+0

今度は、Pthonの文字列書式を使用してください。そのために – jsbueno

+0

が働いています。ありがとう! –

0

まず、何度も物事をインポートしています。 osに含まれているので、os.pathをインポートする理由はありません。 sysと同じです。

このような場合は、文字列置換を使用する方が簡単です。 %の後にくるタプルには、%より前の部分の%sに代入される値が含まれています。

from sys import argv 
import os.path 

script, user_name, age, gender = argv 

newpath = '%s_%s_%s' % (user_name, age, gender) 
if not os.path.exists(newpath): 
    os.makedirs(newpath) 
関連する問題