【问题标题】:How to create a .txt file in Python? (Pycharm)如何在 Python 中创建 .txt 文件? (皮查姆)
【发布时间】:2017-10-15 01:00:07
【问题描述】:

在上一篇文章中,我询问了如何创建要写入的新文件,如果它不存在的话。但是,我刚刚在 PyCharm 中尝试过,但它不起作用。我没有看到文件 LOOKHERE.txt 的任何迹象

my_list = [i**2 for i in range(1,11)]

openfile = open('LOOKHERE.txt', 'w')
for item in my_list:
    openfile.write(str(item) + "\n")
openfile.close()

我做错了什么?它与 PyCharm 对项目的使用有什么关系吗?

【问题讨论】:

  • 给你的文件一个路径或者查看这个脚本的执行目录
  • @Rash 是的,我查看了与保存 .py 文件相同的文件路径,但它不存在。这是否意味着每次我想创建一个新文件时,我都必须指定一个路径?在其他帖子中,有人告诉我 Python 会自动完成。
  • 始终指定路径是一个好习惯。但是就像其他人所说的,如果你不这样做,那么默认是当前目录。如果您没有看到它,请通过提供路径来验证您的程序是否正确。
  • 重申@Rash 所说的,Zen of Python 说:“显式优于隐式”
  • 您可能还更改了系统路径,因此您可能认为您的程序从文件夹 a 运行,但实际上是从文件夹 b 运行。另外,我建议您检查安装 python 的文件夹 - 您的文件可能在那里。还有其他事情需要检查,例如在创建文件之前打印当前目录的路径。我也不知道 pycharm,但是在 Eclipse 中,如果我不刷新我的项目,我的文件夹结构不会更新,这意味着您的文件可能会被创建,这只是刷新的问题

标签: python io pycharm


【解决方案1】:

按照您的建议,在 pycharm 项目文件夹中创建文本文件。 如果您希望它转到其他地方,例如您的桌面,请执行以下操作:

f = open('path_to_desktop/file.txt', 'w')

注意:我只是在我自己的系统上测试了这个。我可以通过右键单击项目窗口(右侧)中的文件夹,然后从弹出的菜单中单击“复制路径”来获取项目路径。

编辑:我认为既然你接受了我的回答,这最终会为你解决(尽管有任何其他问题,请发表评论)。正如@ThanePlummer 所提到的,只是想补充一点,在打开文件时使用 with 语句通常是更好的做法。一个原因是您的文件会为您自动关闭!谷歌一下;)

【讨论】:

    【解决方案2】:

    首先您应该明确指定路径。使用r 说明符和join 命令执行此操作,使其独立于平台。对文件进行操作时最好使用with关键字。

    import os
    
    my_path = r'my/longpath/here' # forward slash works on all systems
    
    my_list = [i**2 for i in range(1,11)]
    
    with open(os.path.join(my_path, 'subdir', 'LOOKHERE.txt'), 'w') as fh:
        for item in my_list:
            openfile.write(str(item) + "\n")
    

    【讨论】:

    • 最好使用内置的 os.path 模块来操作路径。 (特别是加入)。
    • 同意。也许你的意思是对另一篇文章的评论?此解决方案中使用了os.path.join()
    • 我的意思是这样做: os.path.join("my", "long", "path", "goes", "here") 因为你的路径是不可移植的(或者“my/long/path/goes/here”将在任何地方工作)。没什么大不了的。
    • @dementedhedgehog 根据您的建议编辑。谢谢。
    【解决方案3】:

    在 PyCharm 中,您可以指定工作目录以指向应执行程序的位置。 通过按Shift+Alt+F10 然后按0 或使用导航栏打开Edit Configuration。然后在Working directory 中选择项目的路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-03
      • 2020-02-16
      • 2021-05-10
      • 2014-01-17
      • 1970-01-01
      • 2012-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多