函数调用中的python变量

时间:2011-02-01 07:39:12

标签: python string function datetime

我正在尝试使用python在linux中创建目录/文件夹。我会得到约会时间并制作一个文件夹。

In [65]: d = datetime.datetime.now()

In [66]: a = 'date :' + str(d)

In [67]: a
Out[67]: 'date :2011-02-01 13:05:58.642704'

In [68]: os.system('mkdir a')

我应该如何在系统命令中传递变量a?

4 个答案:

答案 0 :(得分:3)

使用字符串格式将var a添加到字符串中:

os.system('mkdir %s' % a)

答案 1 :(得分:3)

使用python自己创建目录的方式:

os.mkdir(a)

答案 2 :(得分:2)

您确定要使用所有冒号和空格命名目录'date :2011-02-01 13:05:58.642704'吗?有一种简单的方法可以用不同的形式格式化日期,这将使字符串操作更容易。

例如:

d = datetime.datetime.now()

a = d.strftime('date_%Y%m%d_%H%M%S_%f')
os.mkdir(a)

将创建名为date_20110201_130558_642704的目录(有关格式化选项here的更多信息)。如果您在shell中操作此目录(在ls输出中双击其名称等),您的生活将会更轻松。)

答案 3 :(得分:1)

您应该使用os.system。如果必须拨打外部程序,请使用subprocess

那就是说,没有理由打电话给mkdir。使用stdlib函数os.mkdir,它可以满足您的需要。建议尽可能使用stdlib。您的代码不仅可以移植,而且更易于维护和阅读。

如果您坚持要求调用外部流程:

>>> import subprocess
>>> subprocess.call(['mkdir', 'foo_bar'])