鱼C论坛

 找回密码
 立即注册
查看: 1494|回复: 11

[已解决]请问有什么方法可以在一个变量中内容是目录,将反斜杠变成双反斜杠

[复制链接]
发表于 2017-12-21 12:46:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如题比如
ppp='G:\py\python'
i=open(ppp)
就会错误,有什么办法可以修正呢
最佳答案
2017-12-21 13:57:31
liu306178205 发表于 2017-12-21 13:29
第一个函数返回一个文件目录比如这种 C:\新建文件夹\flie
但是第二个函数open不开这个地址,我想要把\转 ...

试试 ppp = os.path.normcase(返回的的文件目录)。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-12-21 12:47:57 | 显示全部楼层
ppp = r'G:\py\python'
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-21 12:49:47 | 显示全部楼层
在字符串前面加上 r 或者 R
表示原字符串
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-21 13:01:40 | 显示全部楼层

我不能改上面的字符串了,我只能改第二句,因为上面的目录是我前面输出的变量
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-21 13:03:38 | 显示全部楼层
import pickle
import os
import os.path
id=input('请输入一个地址:')
flie=input('请输入要拆分的文件:')
num=1
def chazhao(id,flie):
    os.chdir(id)
    da_id=os.listdir(os.curdir)
    for p in da_id:
        if p==flie:
            global keyong_id
            keyong_id=str(os.getcwd()+os.sep+flie)
        if os.path.isdir(p):
            chazhao(p,flie)
            os.chdir(os.pardir)
def mean():
    mubiao_flies=open(rkeyong_id,'rb')
    for i in mubiao_flies:
        if i!='=====':
            (qian,hou)=i.split(':',1)
            if qian=='小甲鱼':
                p1=open('小甲鱼'+num ,'wb')   
                pickle.dump(hou,p1)
            if qian=='小客服':
                p2=open('小客服'+num ,'wb')
                pickle.dump(hou,p2)
            num+=1
chazhao(id,flie)
mean()

        
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-21 13:19:10 | 显示全部楼层
liu306178205 发表于 2017-12-21 13:01
我不能改上面的字符串了,我只能改第二句,因为上面的目录是我前面输出的变量

太乱没看明白,你是说上面那个是你输入的地址吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-21 13:29:15 | 显示全部楼层
°蓝鲤歌蓝 发表于 2017-12-21 13:19
太乱没看明白,你是说上面那个是你输入的地址吗?

第一个函数返回一个文件目录比如这种 C:\新建文件夹\flie
但是第二个函数open不开这个地址,我想要把\转换成\\或/,不知道怎么转换
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-21 13:57:31 | 显示全部楼层    本楼为最佳答案   
liu306178205 发表于 2017-12-21 13:29
第一个函数返回一个文件目录比如这种 C:\新建文件夹\flie
但是第二个函数open不开这个地址,我想要把\转 ...

试试 ppp = os.path.normcase(返回的的文件目录)。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-21 14:39:44 | 显示全部楼层
°蓝鲤歌蓝 发表于 2017-12-21 13:57
试试 ppp = os.path.normcase(返回的的文件目录)。

mubiao_flies=open( os.path.normcase(keyong_id),'rb')
OSError: [Errno 22] Invalid argument: 'rc:\\新建文件夹\\record.txt'
我的python3.6.4里面输出不带单引号。
怎么办
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-21 14:41:42 | 显示全部楼层
liu306178205 发表于 2017-12-21 14:39
mubiao_flies=open( os.path.normcase(keyong_id),'rb')
OSError: [Errno 22] Invalid argument: 'rc:\\ ...

你的 C 前面的 r 怎么来的?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-12-21 16:00:37 | 显示全部楼层
°蓝鲤歌蓝 发表于 2017-12-21 14:41
你的 C 前面的 r 怎么来的?

刚刚是我多打了,谢谢,解决问题了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-12-21 16:01:47 | 显示全部楼层
liu306178205 发表于 2017-12-21 16:00
刚刚是我多打了,谢谢,解决问题了。

不客气。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-5 00:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表