os.system()问题请教

os.system()问题请教

最近初学python,遇到了一个问题,望大家指教


我在用os.system()调用系统命令的时候无法读入变量数据,比如

dir=sd
os.system('md dir')

这样就建立了一个dir的目录,而不是sd的目录.
请问这种情况如何解决
>>> dir='sd'
>>> cmd='mkdir '+dir
>>> os.system(cmd)
>>> for i in range(10):
...     dir=str(i)
...     cmd='mkdir '+dir
...     os.system(cmd)
...
[os.mkdir(str(x)) for x in range(10)]
dir=sd
os.system('md %s' % str(dir))

有个问题 你是不是dir这个变量这一行写错了
应该是
dir = "sd"吧

system是调用另一个进程,当然不能简单的传递变量的。要使用进程间传递参数的方式,如通过命令行参数是最简单的一种。


QUOTE:
原帖由 ghostwwl 于 2007-11-20 18:51 发表
dir=sd
os.system('md %s' % str(dir))

有个问题 你是不是dir这个变量这一行写错了
应该是
dir = "sd"吧

os.system('md %s' % str(dir))
即= os.system('md ' str(dir))
那么 %s' % 代表什么意思那
%s类似于格式化的东东,C里面的printf

print "name:%s,age:%d"%('smallfish',26)
起初字符串和变量在某些地方的连接确实很迷茫