我使用的是在ASCII文件上创建的算法,因此通常我必须从头开始手动编写命令。
我正在考虑利用python的能力使流程自动化。 最终的ASCII文件有多行,每个部分都是一个单独的命令,之后有一组特定的标准和附加选项
我的问题是我怎么能开始写这样的东西。我一直在使用python的功能从数据操作输出文件,但使用多行似乎对我来说是新的。
目标是让python自动编写特定长度的单词,然后让用户请求输入要在指定位置填写的数字或单词。
我的文件是这样的,大写字母是标准的写入命令,而'CAPITAL'或'NUMBER'是我想要输入的选项。
PROJECT 'name' 'nr'
SET 'maxerr' 'cdcap' 'inhorg' 'hserr' 'NAUTICAL or CARTESIAN' 'pwtail'
MODE NONSTATIONARY 'TWODIMENSIONAL or ONEDIMENSIONAL'
.....(the list goes on)
COMPUTE NONSTAT 'starting date input' 'time interval' 'ending date input'
STOP
当我运行脚本时,我想到的就是这样
enter name of project =
enter number of project
enter maxerr = (if no maxerr is entered then proceed to the next input, without writing MAXERR in the file)
我的目标是让终端要求用户输入一个值或字符串,然后将其写入并包含在最终文件中,结果就是这样。
PROJECT 'myname' '1'
SET MAXERR 200 INHORG 1 HSERR 0.9 NAUTICAL PWTAIL 2
MODE NONSTATIONARY ONEDIMENSIONAL
........
COMPUTE 20100101.000000 1 HR 20100102.0000
STOP
非常感谢您的帮助
答案 0 :(得分:1)
将多行写入文件与写一行没有特别的不同。一行由换行符"\n"
终止,该字符后面的所有内容都在下一行。
所以:
f = open("outfile.txt", "w")
f.write("First ") # No newline, line continues
f.write("line")
f.write("\n") # Line ends!
f.write("Second line\n") # Newline character in the same write
f.close()
您也可以在两者之间调用其他功能:
f = open("outfile.txt", "w")
f.write("User input: ")
user_input = raw_input("Your input? ")
f.write(user_input)
f.write("\n")
f.close()
这应该允许您至少尝试解决您的问题。祝好运! : - )
答案 1 :(得分:0)
f1 = open("read.txt", "r")
f11 = f1.readlines()
f = open("write.txt", "a+")
for i in f11:
f.write(str(i))