问题在于“ for”循环中的文件显示在不同的行中。我不知道将要包含多少个文件,所以我想按文件比例扩展列表。
我尝试将(“'” +文件+“',”)添加到单个变量,并将该变量附加到列表中
import os
opc = ""
os.chdir(r"C:\Users\Administrator\Documents\testpy")
for f in os.listdir():
filename, file_ext = os.path.splitext(f)
if file_ext == "":
continue
filec, fileI = filename.split(".")
listd = list(())
opc += "'" + filec + "',"
listd.append(opc)
print (listd)
运行代码时,我得到了:
["'JumpingAroundDogs','Never-Tell-flying','PicturesInHouse_SS90','River-Tall-Running','Run-Run-Run-Down','winnern',"]
但我真正想要的是:
['JumpingAroundDogs','Never-Tell-flying','PicturesInHouse_SS90','River-Tall-Running','Run-Run-Run-Down','winnern']
有人知道怎么做吗?
答案 0 :(得分:0)
在循环之前声明您的列表,将名称直接添加到列表中。您似乎在'.'
处拆分了该名称-这可能很奇怪,因为您仅分解为2个元素。像
some.filename.with.extension.txt
将分解为2个以上的元素,并引发错误。
import os
opc = ""
os.chdir(r"C:\Users\Administrator\Documents\testpy")
listd = []
for f in os.listdir():
filename, file_ext = os.path.splitext(f)
if file_ext == "":
continue
filec, _ = filename.split(".",2) # only care about the 1st split
listd.append(filec)
print (listd)