通过python面向对象编程运行图形

通过python面向对象编程运行图形,python,object,input,graph,Python,Object,Input,Graph,我的问题是关于用python输入对象的 我试图创建一个对象,打开这个python文件,它要求我输入一个数据文件的路径,我输入路径,它会为我打印一个数据图 到目前为止,我有: def graph_openprices(): while True: try: from matplotlib import pyplot as plt from matplotlib import style import numpy as np p

我的问题是关于用python输入对象的

我试图创建一个对象,打开这个python文件,它要求我输入一个数据文件的路径,我输入路径,它会为我打印一个数据图

到目前为止,我有:

def graph_openprices():
while True:
    try:
        from matplotlib import pyplot as plt
        from matplotlib import style
        import numpy as np
        path_openprices = input("Input file path_g: ")

        style.use('ggplot')

        x,y = np.loadtxt(path_openprices, unpack = True, delimiter= ',')
        plt.plot(x,y)

        plt.title('My chart')
        plt.ylabel('Y axis')
        plt.xlabel('X axis')

        plt.show()

        anykey = input("Input anything to return to the main menu ")
        exit

    except OSError:
        print("Directory incorrect, please input a valid directory")
        graph_openprices()

graph_openprices()
我正在运行这个代码,但是,每次它要求我输入我的代码,我输入它

D:\Mycode\exampleFile.txt
什么都没有发生,什么都没有出现,这只是空间。但是,当我通过在前面放置一个#来停用path_openprices行,并在x,y变量中键入path_openprices所在的路径时,它就起作用了


有人知道我做错了什么,以及我如何使输入部分工作吗?

您使用的是
input
,它试图将给定的输入作为Python代码进行计算——请参阅,它告诉您它相当于运行
eval(原始输入(…))

$echo'D:\MyCode\lol.txt'| python-c'input()'
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“”,第1行
D:\MyCode\lol.txt
^
SyntaxError:无效语法

您通常不希望计算用户给定的任意字符串,因此请改用。

您在
while True
循环中使用
try
时,仅使用一个特定的匹配异常,因此如果发生其他错误,您将不会被告知它是什么

使用
print
语句查看代码在似乎什么都没做时正在做什么

$ echo 'D:\MyCode\lol.txt' | python -c 'input()'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<string>", line 1
    D:\MyCode\lol.txt
     ^
SyntaxError: invalid syntax