我是初学程序员.
在我的Py脚本中,我需要创建一个CSV文件,其中包含子目录中多个文件的信息.当我运行我的代码时,我得到了错误:FileNotFoundError: [Errno 2] No such file or directory: '1'.我打印了目录的内容,发现该目录没有读取文件的实际名称,而是用数字或字符替换它.
问题:那是典型的目录吗?因为在研究中,似乎其他人都能够使用
for file in directory:
open(file, "r")
Run Code Online (Sandbox Code Playgroud)
正确.我错过了什么吗?
我的代码:
sub_dir = datetime + "-dir"
os.mkdir(sub_dir)
with open("csv.txt", "a") as csv, open("data.txt") as data:
csv.write("Title" + "\r")
for x in data:
csv.write("," + x)
csv.write("\r" + "Data")
for file in sub_dir:
csv.write(file)
csv.write(", " + "Word1")
csv.write(", " + "Word2")
csv.write(", " + "Word3")
csv.write(", " + "Word4")
csv.write("\r")
f = open(file, "r")
lines = f.readlines()
for line in lines:
line.replace("word5=", ", ")
line.replace("word6=", ", ")
line.replace("word7=", ", ")
csv.write(line)
Run Code Online (Sandbox Code Playgroud)
问题:如何更改我的代码,使其file成为实际的文件名?
问题是这一行:
for file in sub_dir:
Run Code Online (Sandbox Code Playgroud)
如果你print(file)每次都通过循环,那么显而易见的是错误:subdir是一个字符串,所以你只是逐个迭代该字符串的字符.
你可能想要的是:
for file in os.listdir(sub_dir):
Run Code Online (Sandbox Code Playgroud)
正如文档解释的那样listdir:
返回一个列表,其中包含path给出的目录中的条目名称.该列表按任意顺序排列.它不包括特殊条目'.' 和'..'即使它们存在于目录中.
| 归档时间: |
|
| 查看次数: |
1117 次 |
| 最近记录: |