【发布时间】:2017-07-23 02:12:32
【问题描述】:
如果这看起来很无聊,我深表歉意,但我无法准确找到我想要做的事情。我制作了一个用于投标工作的程序,我想使用一个文本文件作为配置文件来存储定价等,程序可以根据需要对其进行读写。这是我所拥有的基本知识。
::示例代码::
def job():
question1 = input("Do you want to adjust your pricing? ").lower()
if question1 == "y" or question1 == "yes":
question2 = input("\nWhat price point would you like to change?\nFlooring cost(1), Basic repair cost(2), or Fuel mileage cost(3): ")
if question2 == "1":
flooring_cost = input("\nWhat is your charge per sqft for flooring? ")
with open("JobFiles.txt", "r") as fo, open("JobFiles.txt", "a") as fw:
for line in fo:
if line == "Floor Price":
next(fo)
fw.write(flooring_cost + "\n")
fo.close()
fw.close()
return job()
:: 示例 JobFiles.txt::
Flooring Price
2.50 <----------<<
Basic Repair Price
25
Fuel Charge
0.40
::预期文件示例::
Flooring Price
2.75 <----------<<
Basic Repair Price
25
Fuel Charge
0.40
所以它应该读取文件“JobFiles.txt”并将“Flooring Price”下的行替换为用户输入。我可以让它什么都不做或擦除文件,但不是我想要的。
编辑:它应该在文本文件中搜索一个词,即“Flooring Price”并替换它下面的行,这样文件就可以增长和更改,而无需重新编码来调整“Flooring Price”是否打开第 1 行或第 100 行。
【问题讨论】:
-
我的解决方案完全符合您的要求,只是打印了一个额外的新行。不正确?
-
@WasiAhmad 是的先生,您的解决方案适用于本示例,只是它删除了 0.40 并留下一个空行。
-
不,它工作得很好,我已经检查过了。查看我的代码,我没有删除从文件中读取的任何行。仔细研究我的代码,希望你会明白。
标签: python-3.x replace find next