[英]python How do I import multiple .txt files in a folder to add characters to each .txt file?
文件夹“ a”中有各种名称的文本文件。 我想阅读所有这些文本文件,并将字母“ b”添加到每个文本文件。 我该怎么办?
cwd = os.getcwd()
input_dir = os.path.join(cwd, "my .txt files dir")
sorts = sorted(glob(input_dir), key = lambda x:(len(x) , x))
for f in sorts :
f = open(input_dir, 'a')
data = "add text"
f.write(data)
f.close()
将数据追加到文件:
-首先:获取文件夹a中的所有文件。
-第二:使用.txt查找扩展名。
-第三:打开它并执行一些操作(“追加”或“重写”)。
演示:
import os
# your .txt files dir
path = 'a'
# append data what you want
appendData = 'b'
fileNames = list(os.walk(path))[0][2]
fileNames.sort(key=len)
fileNums = len(fileNames)
# your dst file extension
fileExt = '.txt'
# # Extract extension from filename
# fileExt = os.path.splitext(fileNames[0])[1]
for fileName in fileNames:
if fileName.endswith(fileExt):
fileFullPath = os.path.join(path, fileName)
with open(fileFullPath, 'a') as f:
f.write(appendData)
就像其他人说的那样,这是一个简单的问题,可以在Google上轻松找到。 无论如何,这是操作方法:
from os import listdir
from os.path import isfile, isdir, join
files = [file for file in listdir("files") if isfile(join("files", file))]
directories = [directory for directory in listdir("files") if isdir(join("files", directory))]
print(files)
for file_name in files:
try:
file = open("files/" + file_name, "a")
file.write("b")
file.close()
except IOError as err:
print("Could not open file because : ", err)
将“ file”替换为文件所在的目录或该目录的路径,例如“ directory0 / directory1 / directory_with_files”
避免使用打开文件
f = open(input_dir, 'a')
f.close()
代替
with open(input_dir, 'a') as inputFile:
Do something
另外你想要的是
import os
import glob # We will use this module to open only .txt files
path = 'your/path'
for filename in glob.glob(os.path.join(path, '*.txt'))
with open(filename, 'a') as inputFile:
inputFile.write('b')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.