我試圖在使用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