【问题标题】:Python os.chdir() doesn't seem to workPython os.chdir() 似乎不起作用
【发布时间】:2013-08-14 18:51:24
【问题描述】:

我似乎无法在 python 中更改我的目录:

import os

os.getcwd()

'C:\\Users\\Jon\\Folder\\IdbyGenotype'

os.chdir(r"C:\Users\Jon\Folder\IdbyGenotype\thisone")

os.getcwd()

'C:\\Users\\Jon\\Folder\\IdbyGenotype'

我错过了什么吗?这里可能出了什么问题?

谢谢

【问题讨论】:

  • os.chdir 会报错吗?
  • 此代码按原样工作。您是否忘记在帖子中添加内容?
  • 不,它没有,这很奇怪。似乎无论我尝试切换到哪个目录,它都不会更改我 ide 中的默认加载目录。我已尝试关闭计算机并关闭程序,但无济于事。
  • 等等,它不会改变 default 目录吗?您是否尝试让 Python 默认在不同的目录中启动?如果是这样,您将需要更改 IDE 的配置。 chdir 仅更改 当前 工作目录。
  • 我对那个 user2357112 有预感,感谢您的洞察力,我会进行调查,看看结果如何。谢谢大家。

标签: python directory


【解决方案1】:

无论您使用的是 Windows 还是 Linux,都在路径中使用正斜杠 (/)

import os

os.getcwd()

'C:\\Users\\Jon\\Folder\\IdbyGenotype'

os.chdir("C:/Users/Jon/Folder/IdbyGenotype/thisone")

这在我的情况下有效。

【讨论】:

    【解决方案2】:
     import os
     os.getcwd()
     'C:\\Program Files\\PYTHON'
     os.chdir('c:\\mytemp')
     os.getcwd()
     'c:\\mytemp'
     os.chdir(r'c:\')
     SyntaxError: EOL while scanning string literal
     os.chdir(r"c:\\")
     os.getcwd()
     'c:\\'
    

    我使用 r 来传达以下是原始字符串的结果不一致。正如您所看到的,当我使用 r 时,当我按下回车键时出现错误。

    因此,您是否尝试在 os.chdir() 命令中使用转义反斜杠?

    您是在暗示您没有收到任何错误消息 - 这很奇怪,因为当我尝试 chdir 到我的用户名下我无权访问的目录以及尝试 chdir 到不存在的目录。

    【讨论】:

    • 两种方法都试过了,都无济于事。这真的很奇怪。我以前没有遇到过问题。
    • 原始字符串不能以反斜杠结尾。这是一个设计决策,可以更轻松地将引号放在原始字符串中。原始字符串主要是为想要自己处理反斜杠的工具设计的,比如re;在这些应用程序中,用反斜杠结束原始字符串是没有意义的,因此这种行为被认为更有用。
    猜你喜欢
    • 2017-12-31
    • 2018-08-11
    • 2017-08-31
    • 1970-01-01
    • 2014-06-30
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    相关资源
    最近更新 更多