【问题标题】:Spyder on pc - can't open files电脑上的 Spyder - 无法打开文件
【发布时间】:2017-11-12 12:52:36
【问题描述】:

如果可能,请提供帮助。希望只是一个简单的问题。

我正在尝试使用笔记本电脑上的 python - microsoft pc 将 txt 文件和 csv 文件打开到 spyder。

尝试实现下面的代码,但它不会打开任何东西 - 我尝试了很多变体 希望你能帮忙,非常感谢。

def print_file(filename):
    """ Opens file and prints its contents line by line. """
    infile = open(filename)

    for line in infile:
    print(line, end="")    
    infile.close()

print_file("phones.csv") Traceback(最近一次调用最后一次):

文件“”,第 1 行,在 print_file("phones.csv")

文件“”,第 3 行,在 print_file 中 infile = 打开(文件名)

FileNotFoundError: [Errno 2] 没有这样的文件或目录:'phones.csv'

另外 = 当我执行 !cd 时,它说操作文件是我的 c 驱动器并且文件在那里。

已经尝试了几天所以希望你不要介意问题 x

【问题讨论】:

  • phones.csv 与您的脚本在同一文件夹中吗?
  • 感谢您的帮助。我接受了您的建议并将代码复制到左侧的新脚本窗口中,现在它已保存到与 csv 和 txt 文件相同的文件夹中 - 我的文档。那正确吗?这是你的意思吗? x

标签: python


【解决方案1】:

所以这里有两个问题。首先,您没有正确缩进 for 循环中的 print 函数调用。其次,您没有为函数提供正确的文件名。

这是一个如何工作的示例:

正确的函数:

def print_file(filename):
    """ Opens file and prints its contents line by line. """
    infile = open(filename)

    print("Opened file, now printing it...")
    for line in infile:
        print(line, end="")
    infile.close()

我的桌面上有一个 csv 文件 phones.csv,所以我这样称呼它:

dir = 'C:/Users/me/Desktop/'
filename = 'phones.csv'
print_file(dir + filename)

输出:

Opened file, now printing it...
123 456 1243, 423 653 6543, 234 532 5432, 543 873 6433, 975 523 5235,
453 856 5435, 423 575 5623, 742 423 9432, 523 634 8345, 421 724 5432

phones.csv的内容是

123 456 1243, 423 653 6543, 234 532 5432, 543 873 6433, 975 523 5235,
453 856 5435, 423 575 5623, 742 423 9432, 523 634 8345, 421 724 5432

【讨论】:

  • 另外,如果脚本与 .csv 位于同一文件夹中,则不需要使用 dir 进行函数调用
最近更新 更多