Python
在 Python 中將 TeX 重音轉換為 UTF-8
在下面編輯
首先,我很確定這是一個重複的問題。但我不知道如何搜尋它。我已經花了很長時間了。
我正在使用 python 從 .txt 文件中讀取特定文件的路徑。IE
/home/username/Documents/K\"{u}hnelt.pdf
現在,如果我嘗試使用 將它複製到另一個目錄中
shutil.copyfile()
,它會說找不到它。但是,如果我手動編寫/home/username/Documents/Kühnelt.pdf
它工作得很好。我認為這是一個編碼問題,但我對這些東西並不流利,我無法弄清楚。
如果以下問題中存在技術錯誤,我很抱歉,但我不知道如何正確製作。希望你能正確理解。問題是,python 中是否有任何命令可以“解釋”在命令行中寫入的字元串,並將其轉換為“完全組合”類型的字元串?
我正在用 python 編寫一個腳本,將我電腦中的幾個 .pdf 複製到目前文件夾中。
.bib
我實際上是從文件中讀取 pdf 位置。正是這個.bib
文件的位置以 TeX 格式寫入。現在,我的 python 腳本逐行讀取 .bib 文件,當它找到
file = {:home/user/Documents/K\"{u}hnelt\_2003.pdf:pdf},
它解析它以保持
MyString = "home/user/Documents/K\"{u}hnelt\_2003.pdf"
然後我會
shutil.copyfile(MyString, "NewName.pdf" )
複製目前目錄中的文件。它工作正常,除了包含此 TeX 樣式的文件。
考慮從過時的、不支持 Unicode 的 BibTeX 轉移到現代的Biblatex,以及支持 Unicode 的 Biber。
如果這不是一個選項,請使用Bibtexparser庫。它包含從 BibTeX 兼容的 TeX 表示法轉換為 Unicode 的程式碼,帶有
bibtexparser.customization.convert_to_unicode
. 基於文件中給出的範例:import bibtexparser with open(bibtex_file_name) as bibtex_file: parser = bibtexparser.bparser.BibTexParser() parser.customization = bibtexparser.customization.convert_to_unicode bibliography = bibtexparser.load(bibtex_file, parser=parser) for entry in bibliography.entries: if entry.has_key('file'): shutil.copy(entry['file'], …)