|
|
10鱼币
我写了一个python3爬虫爬取天气数据,主要针对20个城市,希望能保存在不同的文件目录下,格式为: D:\python练习\城市名\属性名.txt
我的处理方法是
- def save_pm10(pm10,add):
- a="r"D:\python练习\"
- b="\"+"pm10""
- a=a+add+b
-
- print(a)
- '''f=open(r'D:\python练习\pm10','a',encoding='utf-8')'''
- f=open(a,'a',encoding='utf-8')
- ticks=time.asctime(time.localtime(time.time()))+' '
- ticks=str(ticks)
- f.write(ticks+pm10+'\n')
- f.close
复制代码
参数pm10是int,add是字符串
报错见截图
我print了a字符串
可以看到是符合我要求的 r"D:\python练习\北京\pm10"
但是在f.open()得到参数后,可以看到 OSError: [Errno 22] Invalid argument: 'r"D:\\python练习\\北京\\pm10"'
双反斜杠又出来了,r的外侧又多了一层引号,导致报错。
因为a是字符串格式所以外面那一层引号是隐含的,只是print不显示,但是我要采用传参的方法,字符串变量外层的引号又去不掉。
重复一下我的需求:
f=open(a,'a',encoding='utf-8')
a是我要的目录,作为一个参数传进来。
请大家集思广益帮我解决,谢谢。
饿死了,先去吃个饭。
|
|