Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在文件中的一行上输出3项?_Python_File Handling - Fatal编程技术网

Python 如何在文件中的一行上输出3项?

Python 如何在文件中的一行上输出3项?,python,file-handling,Python,File Handling,我想制作一个程序,允许用户不断输入三个项目集,每个输入提示一个,然后将三个值输出到文本文件中的一行 下面是一些基本的例子 text_file = open("filename", "w") While True: Code = input("Enter code") Description = input("Enter description") Price = input("Enter price") 有人能帮我吗 编辑: 这就是我目前所处的位置 tex

我想制作一个程序,允许用户不断输入三个项目集,每个输入提示一个,然后将三个值输出到文本文件中的一行

下面是一些基本的例子

text_file = open("filename", "w")

While True:
      Code = input("Enter code")
      Description = input("Enter description")
      Price = input("Enter price")
有人能帮我吗

编辑: 这就是我目前所处的位置

text_file = open("file.txt", "w")

while True:
      user_input = input("Enter a code, description and price")
      split = user_input.split(" ")
      split = str(split)
      text_file.write(split)

唯一的问题是它不允许我输出列表。

假设用户用一个空格(即1232示例产品$24.95)拆分三个字段,您知道第一个空格将代码与说明分隔,最后一个空格将说明与价格分隔。然后:

sep = ','   # separator character
textfile.write(sep.join([Code, Description, Price]) + '\n')
text_file = open("filename", "w")

while True:
      user_input = input("Enter Code Description Price:")
      split_input = user_input.split(' ')
      code = split_input[0]
      description = ' '.join(split_input[1:-1])
      price = split_input[-1]

text_file.write('{} {} {}\n'.format(code, description, price))

假设用户用一个空格(即1232示例产品$24.95)拆分这三个字段,您知道第一个空格将代码与说明分开,最后一个空格将说明与价格分开。然后:

text_file = open("filename", "w")

while True:
      user_input = input("Enter Code Description Price:")
      split_input = user_input.split(' ')
      code = split_input[0]
      description = ' '.join(split_input[1:-1])
      price = split_input[-1]

text_file.write('{} {} {}\n'.format(code, description, price))

如果使用Python>=3.6并且不需要与旧版本兼容:

text_file.write(f'{Code} {Description} {Price}\n')
否则(根据另一个答案改编):


请注意,事实上的标准约定是变量名称应以小写字母开头。因此,应使用
code
description
price
作为变量名。

如果使用Python>=3.6且不需要与旧版本兼容:

text_file.write(f'{Code} {Description} {Price}\n')
否则(根据另一个答案改编):



请注意,事实上的标准约定是变量名称应以小写字母开头。因此,您应该使用
code
description
price
作为变量名。

您是说提示应该只在一行上,还是应该分别提示用户三次,但将所有数据写入文件的一行?@Toxinishere:我想您还是需要澄清一下“每三项“。在将所有三个值写入输出文件的一行时需要帮助吗?或者,在写入任何内容之前,是否要从单个输入行读取所有三个值?我想我是对的,但是其他回答的人显然不同意。@Prune我希望这三个项目在一行,但当他添加下一组3个项目时,我希望这三个项目在另一行。像这样>>>A112鼠标25.55>>B112键盘50.00请澄清:一行输入,还是一行输出?这就是全部的困惑。@Prune啊,一行输出你是说提示应该只在一行上,还是说用户应该被提示三次,但是所有的数据都写在文件的一行上?@toxinishere:我想你仍然需要澄清“每三项”。在将所有三个值写入输出文件的一行时需要帮助吗?或者,在写入任何内容之前,是否要从单个输入行读取所有三个值?我想我是对的,但是其他回答的人显然不同意。@Prune我希望这三个项目在一行,但当他添加下一组3个项目时,我希望这三个项目在另一行。像这样>>>A112鼠标25.55>>B112键盘50.00请澄清:一行输入,还是一行输出?这就是全部的困惑。@Prune啊,一行输出我得到一个错误,说只有一个参数可以给出,而我给出了三个。@cᴏʟᴅsᴘᴇᴇᴅ: OP说“如何在一个文件的一行上输出3项?”输出,而不是输入。文件已打开以供写入。@Toxinishere:Theory修复了我的语法;我忘了将它们包装在一个列表中。
textfile.write(sep.join([code,Description,Price])+'\n')
-我认为最后需要换行符。我收到一个错误,说只能给出一个参数,我给出三个。@cᴏʟᴅsᴘᴇᴇᴅ: OP说“如何在一个文件的一行上输出3项?”输出,而不是输入。文件已打开以供写入。@Toxinishere:Theory修复了我的语法;我忘了将它们包装在一个列表中。
textfile.write(sep.join([code,Description,Price])+'\n')
-我认为最后需要换行符。我不认为每次打印后都需要换行符-只需要最后一个。如果您只是将输入转储到一个文件中,这是一个很好的、紧凑的、可维护的答案。请注意,它不会将输入值存储在程序中:它们会被读取、写入和丢失。我认为您不希望在每次打印后都使用换行符,只希望在最后一次打印后使用换行符。如果您只是将输入转储到文件中,这是一个很好的、紧凑的、可维护的答案。请注意,它不会将输入值存储在程序中:它们是读取、写入和丢失的。