我有几个文件名为关注a_b.nc
a_c.nc
a_d.nc
。
我想使用循环来复制/重命名这些文件。
我尝试使用以下代码:
import os
stations = ["b" , "c" , "d"]
inbasedir = "/home/david/test_pals/PALS/sites_lai/"
varname = "a_"
for station in stations:
os.chdir(inbasedir)
os.system("cp ${varname}${station}.nc ${varname}${station}_lai.nc")
代码不产生错误,但同时它根本不产生输出:)
有没有人知道如何产生所需的输出?
答案 0 :(得分:1)
有没有人知道如何产生所需的输出?
您必须将字符串的语法从${varname}${station}
修改为类似这样的内容:os.system("cp {0}{1}.nc ${0}${1}_lai.nc".format(varname, station))
,这样可行。我会这样做的:
import os
rename = ['f1.txt', 'f2.txt'] # list of files to rename
cur_dir = os.path.dirname(os.path.abspath(__file__)) # the dir with files
files = os.listdir() # list of all files in directory
for f in files:
if f in rename:
os.popen("cp {0} {1}".format(f, f + "_renamed"))
在我目前的目录中,我创建了这些文件f1.txt
和f2.txt
。运行os.popen("cp {0} {1}".format(f, f + "_renamed"))
后,我已更改rename
列表中的所有文件。
备注:以下是popen的说明以及内容。