我在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
中获取此变量!
答案 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())