使用 python 删除和修改一堆文件中的文本
Delete and modify text in a bunch of files with python
我有一堆名为 test211.csh
、test212.csh
等的文件。我拥有的每个文件的第一行:
"#$ -N /gridware/wor(number without 2)"
"#$ -o /gridware/wor(number without 2).out"
"#$ -e /gridware/wor(number without 2).err"
"#$ -cwd"
(没有""
)
例如test238.csh
:
"#$ -N /gridware/wor38"
"#$ -o /gridware/wor38.out"
"#$ -e /gridware/wor38.err"
"#$ -cwd"
我只想在同一个文件中:
"#$ -N (name of the file without CSH)"
另外我想用"/"
替换"//"
我该怎么做?
import os
from glob import glob
from itertools import islice
path = "full_path/"
import ntpath
for f in glob(path + "*.csv"): # find all .csh files
with open(os.path.join(path, f)) as fl:
data = fl.readlines()
with open(os.path.join(path, f), "w") as w:
# write filename - .csh
w.write("#$ -N {}\n".format(ntpath.basename(f).rstrip(".csh")))
for line in data[4:]:
# write remaining lines
w.write(line.replace("//", "/"))
我有一堆名为 test211.csh
、test212.csh
等的文件。我拥有的每个文件的第一行:
"#$ -N /gridware/wor(number without 2)"
"#$ -o /gridware/wor(number without 2).out"
"#$ -e /gridware/wor(number without 2).err"
"#$ -cwd"
(没有""
)
例如test238.csh
:
"#$ -N /gridware/wor38"
"#$ -o /gridware/wor38.out"
"#$ -e /gridware/wor38.err"
"#$ -cwd"
我只想在同一个文件中:
"#$ -N (name of the file without CSH)"
另外我想用"/"
"//"
我该怎么做?
import os
from glob import glob
from itertools import islice
path = "full_path/"
import ntpath
for f in glob(path + "*.csv"): # find all .csh files
with open(os.path.join(path, f)) as fl:
data = fl.readlines()
with open(os.path.join(path, f), "w") as w:
# write filename - .csh
w.write("#$ -N {}\n".format(ntpath.basename(f).rstrip(".csh")))
for line in data[4:]:
# write remaining lines
w.write(line.replace("//", "/"))