Python列出目录中的所有文件并将其写入Python中的文件

Python列出目录中的所有文件并将其写入Python中的文件,python,Python,下面是我尝试过的代码,我是python新手,有人能告诉我该怎么做吗 #opening a 'Newfile' to write in file_list=open('file_list.txt','w') #taking the list of file which i have to write in file list_files = os.system("ls -1 /amxusers7/inf/aimsys/netabp6/ALL_SCRIPTS/VOICE") #trying to

下面是我尝试过的代码,我是python新手,有人能告诉我该怎么做吗

#opening a 'Newfile' to write in

file_list=open('file_list.txt','w')
#taking the list of file which i have to write in file
list_files = os.system("ls -1 /amxusers7/inf/aimsys/netabp6/ALL_SCRIPTS/VOICE")
#trying to write in a Newfile
file_list.writelines(list_files)
我得到一个错误:

Traceback (most recent call last): 
 File "testPuneet.py", line 30, in ? 
file_list.writelines(list_files) 
TypeError: writelines() requires an iterable argument

在Unix上,
os.system
返回所调用进程的退出代码。因此,
os.system(“ls”)
将为您提供一个整数,而不是文件列表

相反,使用模块。
check_output
方法将为您提供打印到屏幕上的值

import subprocess
result_of_ls = subprocess.check_output(["ls", "-l", "/amxusers7/inf/aimsys/netabp6/ALL_SCRIPTS/VOICE"])
例如:

总计75032\n-rw-rw-r--1个用户0 Jun 3 22:04 122.txt\n-rw-rw-r--1个用户0 Jun 3 22:04 154.txt\n-r-------1个用户8666 Mar 29 22:11 2731_74814450810_2074865_n.jpg\n-rw-rw-r--1个用户111872 May 30 21:40 3065397482_cd8b581c9a.jpg\n-rw-rw-rw-r---1用户24661 Jun 18:11375585_782393371042_1430263587_n.jpg\n


check_output
返回的单个字符串转换为文件名列表,作为练习留给读者

如果您使用的是Python,那么不妨使用Python的方式:

import os
with open('file_list.txt','w') as file_list:
    list_files = os.listdir('/amxusers7/inf/aimsys/netabp6/ALL_SCRIPTS/VOICE')
    file_list.write('\n'.join(list_files))

为什么要在
{}
中包装代码?(另外,
os.system
返回返回值,而不是子进程打印到标准输出的值;它不是您要查找的函数。)