【问题标题】:Python: os.chdir does not work in Python?Python:os.chdir 在 Python 中不起作用?
【发布时间】:2016-11-22 07:18:26
【问题描述】:

我有下面的代码 sn-p 和函数 chdir 似乎不起作用..

cwd_path = os.getcwd()
print("CWD: " + cwd_path)
changed = os.chdir(r"C:/CISCO/PYTHON/My_Learning/prank")
print(changed)

下面是输出:

CWD C:\CISCO\PYTHON\My_Learning
None

【问题讨论】:

  • 据我所知 os.chdir 没有输出,因此没有。所以它会改变目录它只是不打印任何东西。如果您在更改目录后尝试另一个 os.getcwd() 应该这样做。
  • 你为什么断定这没有用?没有记录返回任何东西,您希望返回什么?
  • os.chdir 不返回任何内容。
  • @FullName:os.chdir 当然会返回一些东西。它返回None
  • 我只是有一种迂腐的心情。 ;-)

标签: python operating-system


【解决方案1】:

如您所见,hereos.chdir 在所有情况下都返回 None。

【讨论】:

  • 发布链接不是答案。
  • @FullName 这不是只是一个链接。这是答案(os.chdir 在所有情况下都返回None)并带有链接作为参考。然而,这肯定不是一个很好的答案,因为 1) 缺乏正确的格式 2) 链接到外部源而不是官方 python 文档 3) 使用 here 作为链接锚。无论如何这是一个答案
【解决方案2】:

os.chdir 返回None

在这种情况下,您应该将changed 设置为检查当前目录是否与上一个目录相同的标志:

cwd_path = os.getcwd()
os.chdir(r"C:/CISCO/PYTHON/My_Learning/prank")
changed = (cwd_path != os.getcwd())
print(changed)
# True

【讨论】:

    【解决方案3】:

    os.chdir 不会向您返回任何内容。当您想查看您所在的目录时,您需要os.getcwd。例如

    print(os.getcwd())
    os.chdir('/')
    print(os.getcwd())
    

    输出类似;

    /我的家 /

    【讨论】:

      【解决方案4】:

      os.chdir 没有输出,你必须先制作一个 os.chdir() 然后再制作:

          changed = os.getcwd()
      

      这样你就得到了新目录

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-06-07
        • 1970-01-01
        • 2017-09-08
        • 2021-01-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多