Python 如何将以下函数应用于多个txt文件?
您好,我在一个目录中有几个txt文件,我想对我的所有txt文件应用以下python函数:Python 如何将以下函数应用于多个txt文件?,python,python-3.x,Python,Python 3.x,您好,我在一个目录中有几个txt文件,我想对我的所有txt文件应用以下python函数: file = open('folder/testing.txt', 'r',encoding='utf-8') list_lines = [] for line in file: list_lines.append(line.replace('-\n', ' ')) list_lines2 = [] for line in list_lines: list_lines2.a
file = open('folder/testing.txt', 'r',encoding='utf-8')
list_lines = []
for line in file:
list_lines.append(line.replace('-\n', ' '))
list_lines2 = []
for line in list_lines:
list_lines2.append(line.replace('-\n', ''))
list_lines3 = []
for line in list_lines2:
list_lines3.append(line.replace('\n', ''))
big_line = ''.join(list_lines3)
text_file=`open("folder/Output.txt", "w")`
print(big_line)
text_file.write(big_line)
text_file.close()
print('writing document')
为了实现这一点,我尝试制作一个函数:
def change(document,encoding):
file = open(document, 'r',encoding=encoding)
list_lines = []
for line in file:
#print(line.replace('\n', ' ').replace('\r', ''))
list_lines.append(line.replace('-\n', ' '))
list_lines2 = []
for line in list_lines:
list_lines2.append(line.replace('-\n', ''))
list_lines3 = []
for line in list_lines2:
list_lines3.append(line.replace('\n', ''))
big_line = ''.join(list_lines3)
text_file = open(document+'changed', "w")
print(big_line)
text_file.write(big_line)
text_file.close()
print('writing document')
事实上,我的函数运行得很好,但我有一个如下目录:
folder$ ls
file1.txt file2.txt file3.txt ... fileN.txt
因此,我希望得到支持,能够找到一种方法将我的函数应用于目录中所有以txt扩展名结尾的文档,感谢您的支持将您的
更改
函数应用于当前目录中以“.txt”结尾的每个文件非常容易:
虽然这不是问题所在,但我在看这段代码时,不能不建议使用较短版本的change
:
def change(document,encoding):
with open(document, 'r',encoding=encoding) as file:
list_lines = [line.replace('-\n', ' ').replace('\n', '') for line in file]
big_line = ''.join(list_lines)
print(big_line)
with open(document+'changed', "w") as text_file:
text_file.write(big_line)
print('writing document')
对于os.listdir()中的文件名:更改(文件名,编码)
?请发布完整答案我是一个使用os的乞丐,我想这就是我要寻找的,可能是
def change(document,encoding):
with open(document, 'r',encoding=encoding) as file:
list_lines = [line.replace('-\n', ' ').replace('\n', '') for line in file]
big_line = ''.join(list_lines)
print(big_line)
with open(document+'changed', "w") as text_file:
text_file.write(big_line)
print('writing document')