我在python代码中有一个函数,其参数如下:
save_geometry(r"""C:\Users\User0\Documents\test.txt """)
我想修改参数,并能够使用不同的文件名保存到不同的路径:
filename = "geometries.txt "
filepath = "D:/AllData/"
filefullpath = filepath + filename
有人可以帮助我将filefullpath
传递给save_geometry
吗?如果r
的参数中没有save_geometry
,那就很容易了。但我不知道如何处理这个r
。
答案 0 :(得分:5)
r“”构造只是告诉Python,字符串中的任何内容都应该被解释为原始数据。
"qw\n" == 'qw\n'
r"qw\n" == 'qw\\n'.
使用它是因为“\”路径分隔符也用于换行符等。你可以在参与辩论时跳过它; save_geometry(filefullpath)应该做你期望的。
答案 1 :(得分:0)
请注意,将路径放在一起的规范方法是os.path.join
path = os.path.join("D:\\", "AllData", "geometries.txt")
User3757614的答案解决了您对原始字符串表示法的关注,但简洁地说,所有r""
表示法都告诉Python,以下字符串不应将\
视为转义字符,而是作为一个字面反斜杠。这很重要,因为"C:\new folder"
实际上是
C:
ew folder
由于\n
是换行符。
答案 2 :(得分:-2)
您可以使用os
模块将字符串拆分为文件夹路径和文件名。
e.g。
import os
pathname = os.path.dirname('C:\Users\User0\Documents\test.txt') #C:\Users\User0\Documents
filename = os.path.basename('C:\Users\User0\Documents\test.txt') #test.txt
虽然您需要修改路径字符串,因为您的\
将被解释并且换行字节