当前位置: 首页 > 面试题库 >

Python使用开放(w +)FileNotFoundError

越高峻
2023-03-14
问题内容
  1. 创建函数saveTxtIndividualTracks(track,folder,i)基于python3.4.3和Windows 7:

    def saveTxtIndividualTracks(track,folder,i):
    f = open(folder+str(i)+'.txt','w+')
        for line in track:
            l=str(line[0])+','+str(line[1])+','+str(line[2])+'\n'
        f.write(l)
    f.close()
    
  2. 使用功能:

    saveTxtIndividualTracks(new,'E:/phoneTracks/'+track_name+'/',i)
    

运行代码时,出现以下错误:

FileNotFoundError:[错误2]没有这样的文件或目录:’E:/phoneTracks/TA92903URN7ff/0.txt’

phoneTracks在E中创建了文件夹。我open()对mode的功能感到困惑'w+',该模式用于创建新文件。为什么会出现FileNotFoundError?我该如何解决?


问题答案:

由于目录-E:/phoneTracks/TA92903URN7ff/不存在,导致出现错误。

显示此错误的示例-

In [57]: open('blah/abcd.txt','w+')
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
<ipython-input-57-46a07d4a5d18> in <module>()
----> 1 open('blah/abcd.txt','w+')

FileNotFoundError: [Errno 2] No such file or directory: 'blah/abcd.txt'

我的代码中出现错误,因为该目录blah/不存在。

如果目录-TA92903URN7ff/是恒定的,请尝试创建它,然后运行。如果它不是恒定的,则可以签出os.path.exists以检查目录是否存在,如果不存在,则使用创建目录os.mkdir

范例-

import os, os.path
def saveTxtIndividualTracks(track,folder,i):
    if not os.path.exists(folder):
         os.mkdir(folder)
    elif not os.path.isdir(folder):
         return #you may want to throw some error or so.
    f = open(os.path.join(folder, str(i)+'.txt'),'w+')
        for line in track:
            l=str(line[0])+','+str(line[1])+','+str(line[2])+'\n'
        f.write(l)
    f.close()

另外,您应该考虑使用os.path.join联接路径,而不是使用字符串串联。并且还使用with-来打开文件的语句with open(os.path.join(folder, str(i)+'.txt'),'w+') as f:,这样,一旦with块结束,文件将自动关闭。



 类似资料:
  • 问题内容: 在内置的蟒蛇开放的功能,是个什么模式之间准确的区别? 特别是,文档暗示所有这些都将允许写入文件,并表示它打开文件专门用于“,但未定义这些术语的含义。 问题答案: 打开模式与标准库功能完全相同。 手册页对它们的定义如下:

  • 问题内容: 在Python中播放声音文件(.wav)的最简单方法是什么?最简单的说,我指的是最独立的平台,并且需要最少的依赖。pygame当然是一个选择,但听起来似乎有些过分。 问题答案: Snack Sound Toolkit可以播放wav,au和mp3文件。

  • 但是当我在Android手机上安装apk时,应用程序安装失败,它不会打开。 在调查了我的工作记录和历史之后。我认为React-Native Firebase是这里的问题,但我不知道如何修复它。 在我安装react-native-firebase之前,应用程序发布版一如既往地工作,但之后应用程序就无法打开了 编辑:为了我的进一步调查。当我用RNfirebase依赖项注释掉这一行时,应用程序版本又开始

  • 我正在尝试用配置我的,以便对用户进行身份验证。我已经配置了openldap,它在中运行良好。但是对于,它给出的错误是 以下是配置:

  • 我有一个。NET Core3.0应用程序,我正在尝试实现Swashbuckle包。所以我可以执行http get请求。 我有一个这样的控制器: Thnak你。

  • 我正在尝试用Selenium Web驱动程序点击一个按钮。 (我觉得是用棱角写的??) URL为https://www.truelocal.com.au/search/accountants/canberra 这是页面底部的绿色按钮,上面有“加载更多结果” 元素页源是...