在python中创建用户输入目录名

时间:2016-07-26 18:56:27

标签: python

我正在尝试生成一个python脚本,它接受3个输入参数并创建一个名称为3个参数的串联的目录。我给出的命令是python new.py user1 32 male我应该得到一个名为user1_32_male的目录名,但我得到的目录名为user_name +“”+ age +“”+ gender。有人可以更正我的代码

#!/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)

2 个答案:

答案 0 :(得分:0)

您将要评估的表达式放在引号中所需的目录名称中,因此不会对其进行评估。尝试:

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

答案 1 :(得分:0)

首先,我注意到你不止一次导入东西。没有理由导入os.path,因为它已包含在os中。 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)