这段Python代码的最后一部分是如何完成的



此代码所做的基本工作是获取一个.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]等等。

最后,将最后一个字符串写回文件。

相关内容

  • 没有找到相关文章

最新更新