在python中移动文件时的反斜杠与正斜杠

m528fe3b  于 2023-05-21  发布在  Python
关注(0)|答案(4)|浏览(152)

要移动一些文件,我使用以下代码:

import glob
import os
import shutil

list_of_files = glob.glob('C:/Users/user/staff/*') 
latest_file = max(list_of_files, key=os.path.getctime)
print(latest_file)
filename= os.path.basename(latest_file)

shutil.move(latest_file, f"C:\\Users\\user\\test folder\\{filename}"

代码工作,文件已经移动,但我想知道这是否真的很重要:
被移动的文件是这样的:

C:/Users/user/staff\Aug-2021.csv

请注意,斜线现在是向后的而不是向前的。当我的代码变得更复杂(为了最佳实践)时,斜杠的方向是否重要或将来是否重要,或者这是它应该如何工作的?

qni6mghb

qni6mghb1#

两者都可以,但是混合使用斜杠和反斜杠至少是丑陋的。如果你想做一些独立于操作系统的事情,你可以使用os.sep来获得你的操作系统的分离字符。

>>> import os
>>> os.sep
'\\'

有了这个你可以做一些像

>>> os.sep.join(['foo','bar'])
'foo\\bar'

但是你也可以使用os.path.join来构建路径,让python来处理这个问题。

>>> import os
>>> os.path.join(os.getcwd(),'foo.bar')
'C:\\Users\\Me\\foo.bar'
lf3rwulv

lf3rwulv2#

正斜杠和反斜杠都是完全有效的路径分隔符。此外,在路径字符串之前包含'r'是一个很好的做法:

r'C:\Users\user\staff\Aug-2021.csv'

表示字符串将被视为原始字符串。你可以在这里看到字符串字面量引用

daolsyd0

daolsyd03#

两者的工作原理相同,但尝试使用\斜线,以避免0.1的错误机会。我也得到了编码错误,所以在路径之前添加r,例如:r"C:\\Users\\user\\test folder\\{filename}"
希望这能回答问题。

unguejic

unguejic4#

case 1:当使用反斜杠时(即直接从文件路径复制的情况下),您可以使用以下代码:

将pandas导入为pd
df=pd.read_csv(r”filepath\filename.csv”)
注意:确保所有斜杠都是反斜杠

**case 2:**使用正斜杠时可以使用以下代码:

将pandas导入为pd
df=pd.read_csv(“filepath/filename.csv”)
注意:确保使用所有正斜杠。在这种情况下,你也可以选择使用r,因为它也可以很好地工作,即
df=pd.read_csv(r“文件路径/文件名.csv”)

相关问题