繁体   English   中英

BASE_DIR使用print输出正确,但在变量中仅输出C:

[英]BASE_DIR outputs correct using print, but in a variable it just outputs C:

如果我在base_dir = settings.BASE_DIR上使用print, base_dir = settings.BASE_DIR正确输出所有内容。 但是,当我使用此变量使用os.path.join创建新变量时,它仅输出C:

打印示例: C:\\Users\\me\\Google Drive\\gitlab\\rootfolder

仅输出C:代码示例,其后的路径显示正确。

blendfile = os.path.join(base_dir, '/var/media', userpathname, newest).replace("\\\\", "/")

出来为: C:/var/media/userpathname/newest

更改'/var/media'var/media'join的功能,也就是从第二个参数中删除前述斜线 因此代码应该是

blendfile = os.path.join(base_dir, 'var/media', userpathname, newest).replace("\\", "/")




In [16]: import os                                                                                                                                    

In [17]: BASE = "Users\me\Google Drive\gitlab\rootfolder"                                                                                             

In [18]: append_path__1 = "/var/media" # with preceeding slash                                                                                                                

In [19]: append_path__2 = "var/media"  # without preceeding slash                                                                                                               

In [20]: os.path.join(BASE,append_path__1)                                                                                                            
Out[20]: '/var/media'

In [21]: os.path.join(BASE,append_path__2)                                                                                                            
Out[21]: 'Users\\me\\Google Drive\\gitlab\rootfolder/var/media'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM