Python 3.6:循环遍历 os.listdir() 中的文件并将其中一些写入文本文档
Python 3.6: Looping through files in os.listdir() and writing some of them to a text document
我正在尝试遍历一些文件并将 .txt 文件的文件名写入另一个 .txt
这段代码在找到并写入一个文件的名称后停止。
我怎么让它写下其余的名字?
import os
os.chdir('/users/user/desktop/directory/sub_directory')
for f in os.listdir():
file_name, file_ext = os.path.splitext(f)
if file_ext == '.txt':
with open('file_test.txt', 'r+') as ft:
ft.write(file_name)
您需要在"append"模式下打开目标文件
import os
os.chdir('/users/user/desktop/directory/sub_directory')
for f in os.listdir():
file_name, file_ext = os.path.splitext(f)
if file_ext == '.txt':
with open('file_test.txt', 'a+') as ft:
ft.write(file_name)
只需将 "a+" 作为开放函数的第二个参数(其中 "a" 用于 "append",“+”用于 "create if not exists")。
我建议您在写入函数中添加一个分隔符(如“\n”)以获得更易读的结果
在循环之前只打开文件一次会更有效率。最好将您的路径传递给 os.listdir()
而不是更改目录:
import os
with open('file_test.txt', 'w') as ft:
for f in os.listdir('/users/user/desktop/directory/sub_directory'):
file_name, file_ext = os.path.splitext(f)
if file_ext == '.txt':
ft.write(file_name)
最后,如果您想要目录中的所有“.txt”文件,glob.glob
is your friend...
如果您在 windows 上,则必须在指定目录路径时使用 \\
。并以附加模式写入文件。
我正在尝试遍历一些文件并将 .txt 文件的文件名写入另一个 .txt
这段代码在找到并写入一个文件的名称后停止。
我怎么让它写下其余的名字?
import os
os.chdir('/users/user/desktop/directory/sub_directory')
for f in os.listdir():
file_name, file_ext = os.path.splitext(f)
if file_ext == '.txt':
with open('file_test.txt', 'r+') as ft:
ft.write(file_name)
您需要在"append"模式下打开目标文件
import os
os.chdir('/users/user/desktop/directory/sub_directory')
for f in os.listdir():
file_name, file_ext = os.path.splitext(f)
if file_ext == '.txt':
with open('file_test.txt', 'a+') as ft:
ft.write(file_name)
只需将 "a+" 作为开放函数的第二个参数(其中 "a" 用于 "append",“+”用于 "create if not exists")。 我建议您在写入函数中添加一个分隔符(如“\n”)以获得更易读的结果
在循环之前只打开文件一次会更有效率。最好将您的路径传递给 os.listdir()
而不是更改目录:
import os
with open('file_test.txt', 'w') as ft:
for f in os.listdir('/users/user/desktop/directory/sub_directory'):
file_name, file_ext = os.path.splitext(f)
if file_ext == '.txt':
ft.write(file_name)
最后,如果您想要目录中的所有“.txt”文件,glob.glob
is your friend...
如果您在 windows 上,则必须在指定目录路径时使用 \\
。并以附加模式写入文件。