在Linux OS上使用Python进行文件处理

时间:2016-07-09 12:05:10

标签: python linux

我在Linux OS上编写了以下Python代码:

 variable='jack'
 import os
 os.system('mkdir '+variable)

然后在当前工作目录中使用名称jack创建一个目录。

但是,如果我想为同一目的使用文件处理

variable='jack'
f=open('xyz.txt', mode="w")
f.write("import os")
f.write("os.system('mkdir '+variable)")
f.close()

然后代码os.system('mkdir '+variable)被添加到xyz.txt文件中,而不是os.system('mkdir jack')

请帮我在文件xyz.txt中获取此变量!

1 个答案:

答案 0 :(得分:1)

您需要传递变量:

f.write("os.system(mkdir {})".format(variable))

或:

f.write("os.system(mkdir " + variable + ")"))

你正在编写文字字符串"+ variable",因为你在双引号中都有它。你也遇到f.write("import os")的问题,因为你没有添加换行符,所以你的所有数据都在一行上,所以如果你打算执行该代码,请稍后添加换行符f.write("import os\n")并记得稍后将其删除你正在逐行阅读。

所以:

with open('xyz.txt', w) as f:
   f.write("import os\n")
   f.write("os.system(mkdir {})".format(variable))

如果您打算稍后执行代码,请在名称周围添加单引号:

 f.write("os.system('mkdir {}')".format(variable))    

您也可以忘记使用系统,只需使用os.mkdir

  with open('xyz.txt', w) as f:
       f.write("import os\n")
       f.write("os.mkdir('{}')".format(variable))

如果您想稍后执行:

with open('xyz.txt') as f:
   exec(f.read())