此代码所做的基本工作是获取一个.txt文件,替换"quot;用"|"然后在它替换它之后,它返回并删除任何以"0"开头的行|">
我很难理解这段代码的最后一部分的作用。
我了解所有内容,直到:
output = [line for line in txt if not line.startswith("|")]
f.seek(0)
f.write("".join(output))
f.truncate()
这个代码之前的一切^^我理解,但我不确定这个代码是如何做的。
--------这是完整的代码---------------
# This imports the correct package
import datetime
# this creates "today" as the variable that holds todays date
today = datetime.date.today().strftime("%Y%m%d")
# Read the file
with open(r'\mlgserver04mlgshareDataTransfer&AuditComplianceARSI CallsCallLog_ARSI_' + today + '.txt', 'r') as file:
filedata = file.read()
# Replace the target string
filedata = filedata.replace(' ', '|')
# Write the file out again
with open(r'\mlgserver04mlgshareDataTransfer&AuditComplianceARSI CallsCallLog_ARSI_' + today + '.txt', 'w') as file:
file.write(filedata)
# opens the file
with open(r'\mlgserver04mlgshareDataTransfer&AuditComplianceARSI CallsCallLog_ARSI_' + today + '.txt','r+') as f:
txt = f.readlines()
output = [line for line in txt if not line.startswith("|")]
f.seek(0)
f.write("".join(output))
f.truncate()
f.read((返回一个数据块(字符串或字节(另一方面,f.readlines((返回字符串或字节的LIST。
output = [line for line in txt if not line.startswith("|")]
这和说是一样的
output = []
for line in txt:
if not line.startswith("|"):
output.append(line)
所以,制作一个新的字符串列表,只包含我们想要保留的字符串。
"".join(output)
Join获取一个可迭代的字符串,并将它们与分隔符相加(在本例中,它是"(。所以输出[0]+"+输出[1]等等。
最后,将最后一个字符串写回文件。