使用文件和路径的最佳做法是什么?

时间:2017-08-14 23:47:50

标签: python csv

我正在创建一个python脚本,它基本上采用了一个文件的路径'作为用户的论据。它进行一些后期处理,并在与原始文件相同的目录中创建一个新文件。

例如:myscript.py C:\\A\\sub_A\\work_on_this_file.csv

我使用自己收到的路径为C:\\A\\sub_A\\final_file.csv

创建文件处理程序

我被告知要使用os.chdir()导航到该文件夹​​,然后在那里创建我的最终文件,而不是直接使用路径。在这种情况下,最佳做法是什么?是否存在不更改工作目录的风险?

2 个答案:

答案 0 :(得分:1)

我鼓励你总是使用绝对路径,在实践中这是最直接的方式。因此,使用绝对路径直接创建文件(或打开现有文件无关紧要)很好。

如果您不确定是否有绝对路径或相对路径,我建议将脚本的目录作为基本文件夹,然后生成绝对路径,如下所示:

import os

cwd = os.path.abspath(os.path.dirname(__file__))
given_path = "../../myfile.csv"
csv_path = os.path.abspath(os.path.join(cwd, given_path))

在处理模块/导入脚本时,而不是__file__使用sys.argv[0]。 IMO通常不需要改变CWD,很可能很快就会破坏其他事情。

答案 1 :(得分:0)

我的五美分:

  • 使用CSV File Reading and Writing使用CSV文件
  • 使用 with 打开文件时的声明,在这种情况下文件将永远是 如有任何意外错误,请关闭。
  • 始终使用os.sep 为了拥有跨平台路径。
  • 使用 os.path.join 正确形成文件路径。
  • 使用 os.linesep 如果可能的话,正确地逐行处理文件。