os模块python正在工作,但输出不正确

时间:2019-08-05 13:47:24

标签: python bash

我决定读取名称文件并在python中为文件创建软链接。

我尝试使用os.system创建软链接,这会创建链接文件,但是在打开链接文件后会显示“找不到此文件”

os.system(f'ln -s "./../{movie_name}" "./../sorted/{year}/{movie_name}"')

并使用os.symlink(f'./../{filename}',f'./../{filename}.link')

并且在打开时未建立此链接文件。

1 个答案:

答案 0 :(得分:3)

请改用os.symlink()创建符号链接,不要使用ln -s。毕竟,这是您的问题,可能是由于报价不正确(例如,将电影名称加引号引起的)。

此外,请记住符号链接可以包含相对路径。您可以使用os.path.realpath()规范化目标路径:

source_name = os.path.realpath(f"../{movie_name}")
dest_name = f"../sorted/{year}/{movie_name}"
assert os.path.isfile(source_name)  # just to be sure!
os.symlink(source_name, dest_name)