自动写入文本文件的Python脚本

1 投票
2 回答
7104 浏览
提问于 2025-04-18 17:34

我在使用一个基于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

非常感谢你的帮助

2 个回答

0

在编程中,有时候我们会遇到一些问题,特别是在使用某些工具或库的时候。比如,有人可能会在使用某个库时,发现它的功能和他们想要的有点不一样。这种情况下,了解这个库的工作原理就显得特别重要。

有些人可能会问,为什么我的代码没有按照预期运行?这时候,检查一下你使用的工具或库的文档,看看有没有什么特别的说明或者注意事项,可能会帮助你找到问题所在。

另外,编程的时候,保持代码的整洁和清晰也是非常重要的。这样不仅能让你自己更容易理解,也能让其他人更容易阅读你的代码。

总之,遇到问题时,不要急于求成,耐心查阅资料,理解工具的使用方法,才能更好地解决问题。

f1 = open("read.txt", "r")
f11 = f1.readlines()
f = open("write.txt", "a+")
 for i in f11:
    f.write(str(i))
2

往文件里写多行内容和写一行内容其实没什么特别大的区别。每一行的结束是由一个换行符来标记的,换行符就是"\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()

这样应该能让你至少尝试解决你的问题。祝你好运!:-)

撰写回答