杰二少 2023-03-22 01:59 采纳率: 70%
浏览 48
已结题

Pytest-pycharm中右击run正常,在terminal中运行pytest报错:FileNotFoundError: [Errno 2] No such file or directory

with open('..//file//listed_task_delete_ods-log.txt', 'w') as a

是不是我使用相对路径的关系,右击run的时候正常,在terminal运行时就报错 FileNotFoundError: [Errno 2] No such file or directory: '..//file//listed_task_delete_ods-log.txt'

将代码改成with open('file//listed_task_delete_ods-log.txt', 'w') as a,terminal运行正常,右击run就报错,有什么方法解决吗?

  • 写回答

2条回答 默认 最新

  • meiko的技术支撑 2023-03-22 02:06
    关注

    这个问题是由于相对路径在Pycharm的右键运行和终端运行时工作目录(Working Directory)不同导致的。在Pycharm中,右键运行默认的工作目录是文件所在的目录,而在终端运行时,默认的工作目录是当前终端所在的目录。

    为了解决这个问题,您可以使用Python的os模块来获取文件的绝对路径。这样,无论在Pycharm中右键运行还是在终端中运行,都可以找到正确的文件路径。

    以下是使用os模块获取绝对路径的示例代码:

    import os
    
    # 获取当前文件的绝对路径
    current_file_path = os.path.abspath(__file__)
    
    # 获取当前文件所在目录的路径
    current_dir_path = os.path.dirname(current_file_path)
    
    # 构建目标文件的绝对路径
    target_file_path = os.path.join(current_dir_path, 'file', 'listed_task_delete_ods-log.txt')
    
    # 使用绝对路径打开文件
    with open(target_file_path, 'w') as a:
        pass
    
    

    这样,无论是在Pycharm中右键运行还是在终端运行,都可以正确找到并打开文件。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月29日
  • 已采纳回答 3月22日
  • 创建了问题 3月22日

悬赏问题

  • ¥15 网上下载的3DMAX模型,不显示贴图怎么办
  • ¥15 关于#stm32#的问题:寻找一块开发版,作为智能化割草机的控制模块和树莓派主板相连,要求:最低可控制 3 个电机(两个驱动电机,1 个割草电机),其次可以与树莓派主板相连电机照片如下:
  • ¥15 Mac(标签-IDE|关键词-File) idea
  • ¥15 潜在扩散模型的Unet特征提取
  • ¥15 iscsi服务无法访问,如何解决?
  • ¥15 感应式传感器制作的感应式讯响器
  • ¥15 如何使用SC92F8003固件库解析私有协议数据?
  • ¥15 如何在音频中嵌入字符串(水印)信息进行传递
  • ¥30 plc怎么以设计说明书申请软著
  • ¥15 硬盘识别不了,需要初始化,可我的数据怎么办