簡體   English   中英

無法在python中更改文件夾路徑但我不知道為什么

[英]Failed to change folder path in python but I do not know why

我想打開文件夾 1 和文件夾 2 中的字體。我寫了openOTF.py來打開它們。

Desktop 
├── openOTF.py
├── 1
│   ├── CMBSY7.otf
│   ├── CMBSY8.otf
│   └── CMBSY9.otf
├── 2
│   ├── CMCSC8.otf
│   └── CMCSC9.otf

這是 openOTF.py

import fontforge as ff
import os

folders = ["1/", "2/"]

for folder in folders:
    os.chdir(folder)
    print(os.getcwd())
    files = os.listdir("./")
    for font in files:
        print(font)
        f = ff.open(font)
        print(f.path)
    os.chdir("../")

但這是python open-otf.py的輸出,它在文件夾2中找不到CMCSC8.otf ,實際上它想搜索/home/firestar/Desktop/1/CMCSC8.otf

/home/firestar/Desktop/1
CMBSY9.otf
/home/firestar/Desktop/1/CMBSY9.otf
CMBSY8.otf
/home/firestar/Desktop/1/CMBSY8.otf
CMBSY7.otf
/home/firestar/Desktop/1/CMBSY7.otf
/home/firestar/Desktop/2
CMCSC8.otf
The requested file, CMCSC8.otf, does not exist
Traceback (most recent call last):
  File "/home/firestar/Desktop/open-otf.py", line 12, in <module>
    f = ff.open(font)
OSError: Open failed

似乎os.chdir("../")更改了文件夾2的路徑,但 fontforge 沒有更改路徑(仍在文件夾1中)。

import fontforge as ff
import glob

files = glob.glob('*/*.otf')
print(files)

for font in files:
    f = ff.open(font)
    print(f.path)

我認為glob是最簡單的解決方案

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM