我得到了下面的代码和方法列表操作系统列表目录()工作很奇怪:
1.
import os
print(os.listdir(r'C:\Users\output'))
退货:
^{pr2}$正如预期的那样,它是一个包含所有文件名的列表。在
2.
import os
for filenames in os.listdir(r'C:\Users\output'):
for filename in filenames:
print(filenames)
退货:
AAIT.txt
AAIT.txt
AAIT.txt
AAIT.txt
AAIT.txt
AAIT.txt
AAIT.txt
AAIT.txt
AAL.txt
AAL.txt
它打印每个名字文件八次。为什么,filenames
是一个列表,它应该像前一个例子一样打印整个列表,就像我的文件夹中有文件一样多次。在
3.
import os
for filenames in os.listdir(r'C:\Users\output'):
for filename in filenames:
print(filename)
退货:
A
A
I
T
.
t
x
t
A
A
...
每行一个字符,很奇怪为什么?我希望这段代码按照我想要的方式工作,即每行打印一个文件名。在
如何让python每行打印一个文件名?在
在示例2中,您打印的结果文件名的次数与文件名中的字符数相同:
这里
^{pr2}$filenames
是一个文件名。循环该文件名会给您单独的字符,绑定到filename
(单数),但是您可以为每个字符打印filenames
(复数):我在这里添加了
character
打印来说明发生了什么。包含8个字符的文件名将打印8次,包含7个字符的文件名(如'AAL.txt'
)将打印7次,依此类推在示例3中,您只是打印单个字符。在
移除多余的循环,你不需要它。只需循环
os.listdir()
的值:相关问题 更多 >
编程相关推荐