Python中使用os模块切换工作目录显示异常问题求助
问题解决:os.chdir切换目录后打印目录未更新的原因及修复
问题现象
通过os.chdir()切换工作目录后,程序能正常读取目标目录下的Excel文件,但打印的当前工作目录仍显示切换前的路径。
原因分析
你的代码里提前在切换目录前就把当前路径赋值给了cwd变量,后续执行os.chdir(path)确实切换了工作目录,但没有重新获取最新的目录值,所以打印的还是切换前的旧路径。
修复代码
将os.getcwd()的调用移到os.chdir(path)之后,确保获取的是切换后的最新工作目录:
import pandas as pd import os bla_bla = os.path.realpath(__file__) path = r'C:\Users\stain\OneDrive\Desktop\sanofi lavoro 2.0' os.chdir(path) # 切换目录后再获取当前工作目录 cwd = os.getcwd() print("il file si trova in: ", format(bla_bla)) print("Current working directory: {0}".format(cwd)) print("os.getcwd() returns an object of type: {0}".format(type(cwd))) # 创建DataFrame df_products = pd.read_excel('DB ALLOCAZIONE PEZZI.xlsx') print(df_products)
补充说明
程序能读取目标目录的Excel文件,是因为os.chdir(path)执行后,程序的实际工作目录已经切换成功,pd.read_excel是基于当前实际工作目录查找文件的,和之前存储旧路径的cwd变量没有关系。
内容的提问来源于stack exchange,提问作者marcsta
相关产品推荐
相关产品推荐

