我正在制作一个脚本,它将使用b64/b16对目录中的文件进行编码操作系统列表目录但它也列出了导致问题的目录,因为现在它正试图像文件一样对目录进行编码。在
如何从中排除目录操作系统列表目录结果?在
import os
import sys
import base64
import codecs
import time
import string
import glob
#C:\\Users\\Fedora\\Desktop\\Win 10
path = "C:\\Users\\Fedora\\Desktop\\Win 10"
dirs = os.listdir(path)
files = []
filecount = 0
fileprogress = 0
for file in dirs:
files.append(file)
filecount = filecount + 1
for x in files:
os.system("cls")
fileprogress = fileprogress + 1
print("File " + str(fileprogress) + "/" + str(filecount))
print("Encrypting " + x + "...")
inputfile = open(path + "\\" + x, "rb")
data = inputfile.read()
inputfile.close()
data = base64.b16encode(data)
data = base64.b64encode(data)
data = base64.b16encode(data)
data = base64.b64encode(data)
data = base64.b16encode(data)
outputfile = open(path + "\\" + x + ".crypt", "wb")
outputfile.write(data)
outputfile.close()
您可以使用
os.listdir()
,而不是使用os.walk
,它将为文件和目录返回单独的列表python-oswalk-example
pythoncentral os-walk
^{pr2}$使用filter
或使用os.path.isfile()列出理解
^{pr2}$您可以使用
os.path.isdir
函数检查当前文件是否为目录。在另外,使用字符串格式化操作而不是字符串连接要好得多:not
但是
^{pr2}$这样的代码更容易理解和修改。在
相关问题 更多 >
编程相关推荐