os.walk() 不会抛出任何错误,也不会在 python 中产生结果
os.walk() is not throwing any error nor the result in python
我正在尝试打印预定义路径中的文件名,这些路径存储在 paths.txt 中。但是当我执行下面的代码时,我没有收到任何错误,也没有打印文件名。
import os
with open('D:\paths.txt', 'r') as file:
data = file.read()
path = data.split(";")
print(path)
for line in path:
for root, dirs, files in os.walk(line):
for name in files:
print(name)
您需要从文件 ("") 中删除双引号。这就是为什么;当文件被 Python 读取时,在执行 .split()
之后,双引号字符是 Python 字符串的一部分。因此,您实际上没有将路径 D:\bp1
传递到 os.walk()
,而是传递到 "D:\bp1"
,并且没有以 "
开头的路径,这就是什么都没有发生的原因。
如果您在 terminal/command 提示符中编写名称并且不想转义双引号,或者如果您试图定义字符串,则只需要提供双引号在 Python 中使用双引号文字,例如 path = "D:\bp1"
(请注意,在这种情况下,您还必须使用另一个转义 \
。
我正在尝试打印预定义路径中的文件名,这些路径存储在 paths.txt 中。但是当我执行下面的代码时,我没有收到任何错误,也没有打印文件名。
import os
with open('D:\paths.txt', 'r') as file:
data = file.read()
path = data.split(";")
print(path)
for line in path:
for root, dirs, files in os.walk(line):
for name in files:
print(name)
您需要从文件 ("") 中删除双引号。这就是为什么;当文件被 Python 读取时,在执行 .split()
之后,双引号字符是 Python 字符串的一部分。因此,您实际上没有将路径 D:\bp1
传递到 os.walk()
,而是传递到 "D:\bp1"
,并且没有以 "
开头的路径,这就是什么都没有发生的原因。
如果您在 terminal/command 提示符中编写名称并且不想转义双引号,或者如果您试图定义字符串,则只需要提供双引号在 Python 中使用双引号文字,例如 path = "D:\bp1"
(请注意,在这种情况下,您还必须使用另一个转义 \
。