我试图在使用python的linux中创建一个目录/文件夹。我会得到日期时间并创建一个文件夹。函数调用中的python变量
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?
我试图在使用python的linux中创建一个目录/文件夹。我会得到日期时间并创建一个文件夹。函数调用中的python变量
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?
您确定要与所有这些冒号和空格命名的目录'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
输出中的名称等),您的生活将会变得更加简单。
使用字符串格式化的VAR a
添加到字符串:
os.system('mkdir %s' % a)
使用Python自己制作目录的方式:
os.mkdir(a)
你应该不使用os.system
。如果您必须调用外部程序,请使用subprocess。
这就是说,没有理由打电话mkdir
。使用stdlib函数os.mkdir,这就是你想要的。建议尽可能使用stdlib。您的代码不仅便于携带,而且易于维护和阅读。
如果硬要调用外部程序:
>>> import subprocess
>>> subprocess.call(['mkdir', 'foo_bar'])
您不应该这样做。 http://docs.python.org/library/subprocess.html – 2011-02-01 07:41:13
`os.system(''.join(['mkdir',a])` – martineau 2011-02-01 08:04:59
`os.system('mkdir {}'。format(a ))` – martineau 2011-02-01 08:05:45