os.chdir(os.path.dirname(os.path.abspath(__file__)))什么作用
时间: 2023-07-22 08:50:35 浏览: 172
这行代码的作用是将当前工作目录更改为当前脚本文件所在的目录。
具体来说,os.path.abspath(__file__) 会返回当前脚本的绝对路径,os.path.dirname() 会返回该路径所在的目录路径,最后通过os.chdir() 函数将当前工作目录更改为该目录。这通常用于确保脚本中的相对路径能够正确地被解析。
相关问题
通过pyinstaller打包后exe文件设置代码def add_to_startup(): lujing = os.getcwd() lujing = lujing.replace('\\', '/') file_path = os.path.abspath(f'{lujing}/首检工单超时预警.exe') key = winreg.HKEY_CURRENT_USER key_value = "Software\Microsoft\Windows\CurrentVersion\Run" with winreg.OpenKey(key, key_value, 0, winreg.KEY_WRITE) as key_handle: winreg.SetValueEx(key_handle, "My Program", 0, winreg.REG_SZ, file_path)开机启动无法找到同目录excel文件
这个问题可能是因为在设置开机启动时,程序还没有执行到读取Excel文件的代码,所以找不到文件。你可以尝试在程序执行读取Excel文件的代码之前,先切换到Excel文件所在的目录,再执行读取Excel文件的代码。修改代码如下:
```
import os
import winreg
def add_to_startup():
lujing = os.getcwd()
lujing = lujing.replace('\\', '/')
file_path = os.path.abspath(f'{lujing}/首检工单超时预警.exe')
key = winreg.HKEY_CURRENT_USER
key_value = "Software\Microsoft\Windows\CurrentVersion\Run"
with winreg.OpenKey(key, key_value, 0, winreg.KEY_WRITE) as key_handle:
winreg.SetValueEx(key_handle, "My Program", 0, winreg.REG_SZ, file_path)
# 切换到Excel文件所在的目录
os.chdir(os.path.dirname(os.path.abspath(__file__)))
# 执行读取Excel文件的代码
# ...
```
这样应该就可以解决找不到同目录Excel文件的问题了。
Python中os作用
Python中的os模块提供了一些用于操作文件系统的函数,包括访问文件和目录、创建和删除文件和目录等等。下面列举了常用的一些os模块的方法及其作用:
1. os.name:获取操作系统类型,如'posix'表示Linux、Unix或Mac OS X等,'nt'表示Windows操作系统。
2. os.getcwd():获取当前工作目录。
3. os.chdir(path):改变当前工作目录到指定的路径。
4. os.listdir(path):返回指定目录下的所有文件和目录的名称列表。
5. os.mkdir(path):创建一个新目录。
6. os.makedirs(path):递归创建多个目录。
7. os.remove(path):删除指定文件。
8. os.rmdir(path):删除指定目录,只能删除空目录。
9. os.removedirs(path):递归删除多个目录。
10. os.rename(old, new):重命名文件或目录。
11. os.path.exists(path):判断指定路径是否存在。
12. os.path.isfile(path):判断指定路径是否为文件。
13. os.path.isdir(path):判断指定路径是否为目录。
14. os.path.abspath(path):返回指定路径的绝对路径。
15. os.path.basename(path):返回指定路径的文件名或目录名。
16. os.path.dirname(path):返回指定路径的父目录路径。
17. os.path.join(path1, path2, ...):将多个路径组合成一个完整的路径。
18. os.path.split(path):将指定路径分割成目录和文件名。
19. os.path.splitext(path):将指定路径分割成文件名和扩展名。
20. os.path.getsize(path):返回指定路径文件的大小,单位为字节。
阅读全文