python - 如何用python在windows中打开文件?
问题描述
我通过 sys.argv 使用斜杠而不是反斜杠传递文件名。我正在使用 os.path.normpath 和 os.path.join 但是在尝试打开文件时出现异常,没有这样的文件或目录:并且路径带有双反斜杠。我正在寻找解决方案几个小时,但没有任何效果。
我已经尝试了我可以在谷歌上找到的所有教程,但我一直遇到同样的问题。我只是不断收到双反斜杠。我也尝试过像示例中那样对路径进行硬编码。
filepath = os.path.normpath(os.path.join('D:/dir1/dir2/dir3', 'myfile.txt'))
try:
my_file = open(filepath, 'w+')
except Exception as e:
print('Cannot create/open file w+!\n{}'.format(e))
我需要能够打开文件。
解决方案
在 python 脚本中,它适用于:
file_path = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'config.ini')
但是,如果我需要使用 py2exe 构建一个程序,则__file__
它不起作用,我使用:
file_path = os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])), 'config.ini')
希望这对某人有所帮助。
推荐阅读
- python - 损失函数返回“无”数组(离散损失函数)
- javascript - JS Amcharts - 图例的响应式重定位位置
- android - 如何修复对等 android 关闭的 javax.net.ssl.sslexception 连接
- html - 行左侧的灰线
- javascript - 如何使用 Web 组件创建自定义元素?
- json - 变量中的变量 Ansible
- spring - 是否可以使用 Kafka Stream 来计算不同的事件(按 id)?
- office-js - 为什么 ContentControl.insertOoxml(original_content_control_ooxml) 似乎创建了新的不可见内容控件?
- vue.js - 将事件传递到组件 VueJS 的元素上
- shell - 创建基于 Web 的交互式远程轮询终端仿真器