打开文本文件时出现“OSError:[Errno 36] 文件名太长”

Lei*_*ila 2 python python-3.x

我正在尝试用新号码替换文本文件中已有的号码。我打开了文件,我打开的文件名非常短:“example_Na.chem”,但我仍然收到错误:OSError:[Errno 36]文件名太长”。

我正在使用的代码是:

filename_chem = open('./input/example_Na/example_Na.chem', 'r').read()
input_file_chem = filename_chem.format(albeitSSA=albeitSSA)
    with open(filename_chem, 'w') as fid:
        fid.write(input_file_chem)



Run Code Online (Sandbox Code Playgroud)

blh*_*ing 5

您正在读取文件的内容./input/example_Na/example_Na.chem,然后使用文件内容作为写回的文件名,这对于文件名来说可能太大。如果您打算将格式化内容写回到同一个文件中,您应该打开相同的文件名进行写入:

filename_chem = open('./input/example_Na/example_Na.chem', 'r').read()
input_file_chem = filename_chem.format(albeitSSA=albeitSSA)
with open('./input/example_Na/example_Na.chem', 'w') as fid:
    fid.write(input_file_chem)
Run Code Online (Sandbox Code Playgroud)

  • 不错的收获——我错过了。:-) (2认同)