Python:用变量名命名文件夹和文件

Python: name folder and file with variable name

我正在尝试创建 python 脚本,该脚本将在包含变量名的文件夹中创建包含变量名的文件夹和 .csv 文件。

import pathlib
import csv
name = input()
pathlib.Path(name).mkdir(parents=True, exist_ok=True)
csvfile = open(name/name+"1day.csv", 'w', newline='')

name/name 是您试图按名称区分名称。 / 不是字符串而是运算符。 有两种选择可以解决这个问题。

  1. 制作/字符串

    csvfile = open(name+"/"+name+"1day.csv", 'w', newline='')
    

    但是,如果您希望它在 windows 中 运行 并且 Linux。所以选项二更上一层楼。

  2. 使用os.path.join()
    您必须导入 os 并使用连接创建完整路径。 您的脚本将如下所示

    import pathlib
    import csv
    import os # <--- new line 
    
    name = input()
    pathlib.Path(name).mkdir(parents=True, exist_ok=True)
    csvfile = open(os.path.join(name, name+"1day.csv"), 'w', newline='') # <--- changed one. 
    

    os.path.join 将确保使用正确的一个(/\),具体取决于 OS 你是 运行ning。

我想你快到了。尝试

from pathlib import Path
import csv

name = input()
path = Path(name)
path.mkdir(parents=True, exist_ok=True)
csvfile = open(path / (name + "1day.csv"), 'w', newline='')

相反。

Path class 几乎总是您需要 pathlib 的唯一东西,因此您不需要导入 full pathlib。如果可能的话,我会避免同时使用 ospathlib 来处理路径(我知道这并不总是可能,但在大多数情况下)。