如何修复线后续字符后的意外字符?

问题描述 投票:-2回答:3

我试图列出文件目录中的文件名,当我运行代码时,我得到这个错误:“行后续字符的意外字符”

我在路径前键入了“r”但仍然没有工作。

import os def listig_files(dirname):os.scandir(r“C:\ Users \ migue \ Documents \”),用于输入: 如果不是entry.name.startswith('。')和entry.is_file():print(entry.name)我做了更正后得到以下结果:

runfile('C:/ Users / migue / Downloads / Python Scripts / rename files from list.py',wdir ='C:/ Users / migue / Downloads / Python Scripts')

python python-3.7
3个回答
1
投票

引起问题的那条线是

def listig_files(C:\Users\migue\Documents):

在Python中,\是“行继续符”,意思是你可以用它来打破多行的语句。但它必须是一行中的最后一个字符。

这就是为什么你得到一个有点无益的信息 - 你有一个续行字符\后跟另一个字符。

函数定义应该包含该位置的参数名称,然后您可以在函数中使用该名称。

import os

def listing_files(path_name):
    with os.scandir("r", path_name)as: 
        for entry in it:
            if not entry.name.startswith('.') and entry.is_file():
                print(entry.name)

然后你可以调用函数

listing_files(r"C:\Users\migue\Documents") # raw string or escapes for \ needed

注意路径周围的"...",同时将其传递给函数。


0
投票
import os
rome=r'C:\Users\Migue\Documents'
def listing_files(r,rome):
    with os.scandir(r'C:\Users\Migue\Documents') as rome:
        for entry in rome:
            if not entry.name.startswith('.') and entry.is_file():
                print(entry.name)
listing_files('r', rome)

-1
投票

改变路径:

os.scandir(R “C:\用户\ migue \文件”)

© www.soinside.com 2019 - 2024. All rights reserved.