在python开发中,我们时常需要利用python对文件进行一些打开,读取,关闭等操作。
例如,在windows下,我们利用python中的vcf库对文件进行读取时,我们会这样写

file_name =  'F:/vcfdata/CHROM_1_test.vcf'`
vcf_reader = vcf.Reader(filename = file_name )

这个时候,在windows场景下python可以通过这个路径来读取F盘中vcf data文件夹下的这个叫做CHROM_1_TEST.vcf的文件
但是我们在linux下运行这段代码,却会报出这样一个错误。

FileNotFoundError: [Errno 2] No such file or directory: 'mnt/f/vcfdata/CHROM_1_test.vcf'

这个时候很多小伙伴就蒙圈了,明明在windows系统下可以正常读取找到的这个文件为什么在wsl中就 no such file 了呢?原因就在于windows和linux对路径的不同处理。
在wsl下,我们进入f盘的vcf文件夹需要这样几个步骤

cd /mnt/f/vcfdata
ls

所以我们在linux中运行这段程序的时候,文件的路径也得遵循这个规则
因此我们只需要把路径改为`

file_name = '/mnt/f/vcfdata/CHROM_1_test.vcf'

再在wsl中运行

python3 ./ .py

这样就可以成功运行了。


Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐