คำถามติดแท็ก path-manipulation

11
รับเส้นทางของระบบไฟล์มีวิธีที่สั้นกว่าในการแตกชื่อไฟล์โดยไม่มีนามสกุลหรือไม่?
ฉันเขียนโปรแกรมใน WPF C # ฉันมีเส้นทางดังต่อไปนี้: C:\Program Files\hello.txt และฉันต้องการสกัด helloจากมัน พา ธ ถูกstringดึงมาจากฐานข้อมูล ขณะนี้ฉันใช้รหัสต่อไปนี้เพื่อแยกเส้นทางด้วย'\'แล้วแยกอีกครั้งโดย'.': string path = "C:\\Program Files\\hello.txt"; string[] pathArr = path.Split('\\'); string[] fileArr = pathArr.Last().Split('.'); string fileName = fileArr.Last().ToString(); ใช้งานได้ แต่ฉันเชื่อว่าควรมีวิธีแก้ปัญหาที่สั้นกว่าและชาญฉลาดกว่า ความคิดใด ๆ


11
Python os.path.join บน Windows
ฉันกำลังพยายามเรียนรู้ python และกำลังสร้างโปรแกรมที่จะส่งออกสคริปต์ ฉันต้องการใช้ os.path.join แต่ค่อนข้างสับสน ตามเอกสารถ้าฉันพูดว่า: os.path.join('c:', 'sourcedir') ฉันเข้าใจ"C:sourcedir"แล้ว ตามเอกสารนี่เป็นเรื่องปกติใช่ไหม? แต่เมื่อฉันใช้คำสั่ง copytree Python จะแสดงผลตามที่ต้องการตัวอย่างเช่น: import shutil src = os.path.join('c:', 'src') dst = os.path.join('c:', 'dst') shutil.copytree(src, dst) นี่คือรหัสข้อผิดพลาดที่ฉันได้รับ: WindowsError: [ข้อผิดพลาด 3] ระบบไม่พบเส้นทางที่ระบุ: 'C: src /*.*' ถ้าฉันรวมos.path.joinกับos.path.normpathฉันได้รับข้อผิดพลาดเดียวกัน ถ้าos.path.joinไม่สามารถใช้วิธีนี้ได้ฉันก็สับสนว่ามันมีจุดประสงค์อะไร ตามหน้าที่แนะนำโดย Stack Overflow ไม่ควรใช้เครื่องหมายทับในการเข้าร่วมนั่นถูกต้องฉันถือว่า?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.