Python不会读取文本文件

时间:2018-07-28 12:59:31

标签: python python-3.x

我试图在网上寻找解决此问题的方法,但没有任何效果。

Python应该读取一个名为“ directory.txt”的文件,但它总是空白或显示:

  categoryAxis: {
    field: "timeStamp",
    type: "date",
    labels: {
        rotation: 40,
        template: "#= kendo.format('{0:dd/HH:mm}', new Date(value)) #",
        step: 180
    },
        baseUnit:"minutes",
        baseUnitStep: 1,
        plotBands: plots,
        majorTicks: {
             step: 60
        },
        majorGridLines: {
             visible: true,
             step: 180
        }
    }

这个想法是让用户向txt文件添加名称和电子邮件,从而允许他们“读取”文件或“添加”文件。

代码:

<_io.TextIOWrapper name='directory.txt' mode='r' encoding='cp1252'>

2 个答案:

答案 0 :(得分:1)

早上好

我在这里再次编写了代码,它正在工作:

import io

programactive = True

command = input("What would you like to do? Read or add? >> ")

if command == "Read" or command == "read":
   directory = open("directory.txt", 'r')
   read_string = directory.read()
   print(read_string)
   directory.close()
elif command == "Add" or command == "add":
   while programactive == True:
      directory = open('directory.txt', 'a')
      new_name = input("Add a new name to the list. >> ")
      new_email = input("Add a new email for that name. >> ")
      combined = new_name + ", " + new_email + ", "
      directory.write(combined)
      cont = input("Add more? Yes or No >> ")
      if cont == "No" or "no":
         directory.close()
         programactive = False
else:
   print("Invalid command...")

在那里尝试...

答案 1 :(得分:0)

我在这段代码中看到的一些问题:

1)您正在将指针打印到directory对象的存储位置,而不是其内容。
2)您对ReadAddNo的条件逻辑未正确检查这两个条件。 3)您不会在每个添加的条目后面添加换行符,因此文本将显示在一行上,而不是定界。

对于#1,您只需要将directory.read()的内容存储在字符串变量中,然后打印该字符串,而不是打印对象本身。对于#2,当您具有多个相等条件时,必须显式定义相等的两边(例如if command == "Read" or command == "read":而不只是if command == "Read" or "read:"。对于#3,您只需添加一个{{ 1}}添加到您的“ combined” 变量。

尝试以下代码,并测试“添加” 功能,然后检查文件以确保添加的文本按照您期望的格式通过:

\n